Location-Based Features for Commute Assistant

ABSTRACT

Some embodiments provide a commute application that provides a first presentation of several stops along a route. The commute application also receives a selection of a stop from the several stops along the route. The commute application further provides a second presentation for displaying several different routes that traverse through the selected stop.

CLAIM OF BENEFIT TO PRIOR APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication 61/830,055, filed Jun. 1, 2013. U.S. Provisional PatentApplications 61/830,055 is incorporated herein by reference.

BACKGROUND

A countless number of cities and regions around the world have publicand/or private transit systems that provides passenger transportservices between locations in the cities and regions, and in some cases,other cities and regions. Such transit systems use any number ofdifferent modes of transit such as buses, shuttles, trains, metros,subways, airplanes, helicopters, boats, etc.

The majority of the transit systems operate on set schedules thatspecify pickup and arrival times at stops along the different routesoffered by the transit systems. Software developers today have createdapplications that allow users to view these schedules while the usersare mobile and on the move. Many of the applications also provide a mapthat shows the paths traveled by the transit system's different routesalong.

BRIEF SUMMARY

Some embodiments of the invention provide a novel commute applicationthat has several features for viewing routes and schedules for theroutes. In some embodiments, the commute application provides a noveluser interface that presents the routes and the schedules for the routesin an intuitive and fluid manner. For instance, the commute applicationof some embodiments includes several user interface widgets forfacilitating the presentation of different routes that are part ofdifferent transit systems in a way that different route alternatives canbe easily viewed.

In some embodiments, the commute application provides a dynamic focustable that dynamically presents schedules for trips along a particularroute. For instance, when a particular route is selected to view itsdetails, the dynamic focus table of some embodiments automaticallypresents the next upcoming trip along the particular route. In someembodiments, the dynamic focus table displays the next upcoming tripinformation based on the current time of the device, on which thecommute application is executing, and also the current location of thedevice. In other embodiments, this table shows the next upcoming tripbased on the current time of the device, and not based on the currentlocation of the device.

In some embodiments, the dynamic focus table allows a user to quicklyscroll through all the trips that are scheduled to travel along theparticular route throughout the day or for a certain period of time. Insome embodiments, the commute application receives updates to thearrival and departure time of transit vehicles at each stop along aroute from a set of servers operated by a transit operator or from oneor more third parties that collect this information from the transitoperator or from equipment that these parties install on the transitvehicles.

The commute application of some embodiments includes a location-centricuser interface widget that allows a user to browse all the trips alongroutes that stop at and/or pass through a particular location,irrespective of the time of the trips, the mode of transit used for thetrips, and the destinations of the trips. For instance, in someembodiments, the commute application provides a user interface widgetthat allows a user to select a particular stop and view all thedifferent trips along all the different routes that stop at and/or passthrough the particular stop. Alternatively, or in conjunction, thecommute application of some embodiments allows the user to view all thedifferent trips along all the different routes that stop at and/or passthrough the user's location or near the user's location.

The commute application of some embodiments displays different graphicalrepresentations of transit systems, routes, stops and/or schedules fordifferent localities. For instance, in some embodiments, the elements ofgraphical representations (e.g., fonts, icons, symbols, colors, shapes,etc.) in each particular locality are defined differently based on thegraphical representations of the transit data (e.g., the route data,stop data, schedule data, etc.) that the transit system operator oroperators use in that locality. This approach allows the commuteapplication to customize the views (e.g., map views, list views, etc.)displayed in the commute application to match the graphicalrepresentation of the transit data in different localities, which, inturn, causes the application to appear more realistic to the user of theapplication.

In some embodiments, a set of servers receives the graphicalrepresentations of the transit systems, routes, stops and schedules foreach locality (e.g., each city, state, etc.) from one or more transitsystem data providers (e.g., train operators, bus operators, etc.) ofthe locality and/or third parties that work with these data providers.This set of servers then provides the received graphical representationsto specify the route, stop, and schedule display for a particularlocality to a device's commute application when the device is operatingin that particular locality.

The preceding Summary is intended to serve as a brief introduction tosome embodiments of the invention. It is not meant to be an introductionor overview of all inventive subject matter disclosed in this document.The Detailed Description that follows and the Drawings that are referredto in the Detailed Description will further describe the embodimentsdescribed in the Summary as well as other embodiments. Accordingly, tounderstand all the embodiments described by this document, a full reviewof the Summary, Detailed Description and the Drawings is needed.Moreover, the claimed subject matters are not to be limited by theillustrative details in the Summary, Detailed Description and theDrawing, but rather are to be defined by the appended claims, becausethe claimed subject matters can be embodied in other specific formswithout departing from the spirit of the subject matters.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth in the appendedclaims. However, for purposes of explanation, several embodiments of theinvention are set forth in the following figures.

FIG. 1 conceptually illustrates the commute application of someembodiments providing different routes and scheduled times of tripsalong the different routes.

FIG. 2 conceptually illustrates the commute application of someembodiments providing different routes and scheduled times of tripsalong the different routes through a focus table.

FIG. 3 conceptually illustrates the commute application of someembodiments that provides a feature for saving a route.

FIG. 4 conceptually illustrates the commute application of someembodiments that provides several different features.

FIG. 5 conceptually illustrates the commute application of someembodiments providing different routes and scheduled times of tripsalong the different routes through a dynamic focus table.

FIG. 6 conceptually illustrates the commute application of someembodiments providing a page for displaying different routes.

FIG. 7 conceptually illustrates a perspective view of the dynamic focustable of some embodiments.

FIG. 8 conceptually illustrates an example of the manner in which datais stored for the dynamic focus table of some embodiments.

FIG. 9 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the currenttime of a device.

FIG. 10 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the location ofa device.

FIG. 11 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the currenttime of a device and the location of the device.

FIG. 12 conceptually illustrates the commute application of someembodiments that provides a feature that dynamically orders stopsdisplayed in the dynamic focus table.

FIG. 13 conceptually illustrates the commute application of someembodiments implemented for transit to and from work that provides afeature that dynamically orders stops displayed in the dynamic focustable.

FIG. 14 conceptually illustrates the commute application of someembodiments that provides a feature for saving a route.

FIG. 15 conceptually illustrates the dynamic focus table of someembodiments displaying trips a saved route stored on a device.

FIG. 16 conceptually illustrates the commute application of someembodiments providing several techniques for selecting stops for a savedroute.

FIG. 17 conceptually illustrates the commute application of someembodiments providing trip information for saved routes stored on adevice.

FIG. 18 conceptually illustrates the commute application of someembodiments providing a schedule view for a saved route.

FIG. 19 conceptually illustrates adjusting the header of the scheduleview according to some embodiments of the invention.

FIG. 20 conceptually illustrates the commute application of someembodiments displaying trips along a saved route selected from aschedule view table.

FIG. 21 conceptually illustrates the commute application of someembodiments providing a map view for a saved route.

FIG. 22 conceptually illustrates the commute application of someembodiments displaying trips in a map view for a saved route.

FIG. 23 conceptually illustrates the commute application of someembodiments displaying trips in a map view for a saved route.

FIG. 24 conceptually illustrates the commute application of someembodiments displaying details of a trip in a map view for a savedroute.

FIG. 25 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop.

FIG. 26 conceptually illustrates an example of identifying data for thedynamic focus table of some embodiments for pivoting through trips alongdifferent routes that stop at a particular stop based on the dataillustrated in FIG. 8.

FIG. 27 conceptually illustrates an example of identifying data for thedynamic focus table of some embodiments for pivoting through trips alongdifferent routes that stop at a particular stop based on the dataillustrated in FIG. 8.

FIG. 28 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop.

FIG. 29 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop.

FIG. 30 conceptually illustrates the commute application of someembodiments that provides a filtering feature for viewing differenttrips along different routes that stop at a particular stop.

FIG. 31 conceptually illustrates the commute application of someembodiments that provides a feature for viewing in a map trips alongroutes that stop near the location of the device on which the commuteapplication is operating.

FIG. 32 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes of different transit systems that stop near thelocation of the device on which the commute application is operating.

FIG. 33 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a predefined region.

FIG. 34 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a user-specified region.

FIG. 35 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a predefined region based on auser-specified region.

FIG. 36 conceptually illustrates providing a notification for thecommute application of some embodiments when a device is in a powersaving mode.

FIG. 37 conceptually illustrates enabling notifications for the commuteapplication of some embodiments on a device.

FIG. 38 conceptually illustrates the commute application of someembodiments downloading different route data based on differentlocalities in which a device operates.

FIG. 39 conceptually illustrates the commute application of someembodiments that provides a schedule and route data update feature.

FIG. 40 conceptually illustrates an architecture for a server set thataggregates different schedule and route data from different dataproviders.

FIG. 41 conceptually illustrates a set of servers that provide differentdata to commute applications operating on different devices.

FIG. 42 conceptually illustrates a process of some embodiments forprocessing a location request for a transit vehicle.

FIG. 43 conceptually illustrates a process of some embodiments forprocessing a request for schedule and route data.

FIG. 44 is an example of an architecture of a mobile computing device.

FIG. 45 conceptually illustrates an example of an electronic system withwhich some embodiments of the invention are implemented.

DETAILED DESCRIPTION

In the following detailed description of the invention, numerousdetails, examples, and embodiments of the invention are set forth anddescribed. However, it will be clear and apparent to one of ordinaryskill in the art that the invention is not limited to the embodimentsset forth and that the invention may be practiced without some of thespecific details and examples discussed.

Some embodiments of the invention provide a novel commute applicationthat has several features for viewing routes and schedules for theroutes of one or more transit systems. In some embodiments, the commuteapplication provides a novel user interface that presents the routes andthe schedules for the routes in an intuitive and fluid manner. Forinstance, the commute application of some embodiments includes severaluser interface widgets for facilitating the presentation of differentroutes that are part of different transit systems in a way thatdifferent route alternatives can be easily viewed.

In some embodiments, the commute application provides a dynamic focustable that dynamically presents schedules for trips along a particularroute. For instance, when a particular route is selected to view itsdetails, the dynamic focus table of some embodiments automaticallypresents the next upcoming trip along the particular route. In someembodiments, the dynamic focus table allows a user to quickly scrollthrough all the trips that are scheduled to travel along the particularroute throughout the day or in a certain period of time.

The commute application of some embodiments includes a location-centricuser interface widget that allows a user to browse all the trips alongroutes that stop at and/or pass through a particular location,irrespective of the time of the trips, the mode of transit used for thetrips, and the destinations of the trips. For instance, in someembodiments, the commute application provides a user interface widgetthat allows a user to select a particular stop and view all thedifferent trips along all the different routes that stop at and/or passthrough the particular stop. Alternatively, or in conjunction, thecommute application of some embodiments allows the user to view all thedifferent trips along all the different routes that stop at and/or passthrough the user's location or near the user's location.

In some embodiments, a route is a defined set of geographical locationsthat includes a start location, an end location, and one or morelocations in between the start and end locations. The geographicallocations of a route are referred to in some embodiments as stops orstop locations. The route of some embodiments may include only a startlocation and an end location (i.e., the route does not have any stoplocations in between the start and end locations). Examples ofgeographical locations include intersections, street addresses, pointsof interest (e.g., a subway station, a restaurant, a coffee shop, etc.),a set of geographical coordinates (e.g., longitude and latitudecoordinates), and/or any other type of information for specifying ageographical location.

The route of some embodiments is traveled along via a mode of transit(e.g., a bus, a shuttle, a train, a subway, a taxi, etc.). In someembodiments, a route is part of a transit system that includes a networkof routes that are all traveled along using the same mode of transit.One or more routes in the network of routes of a transit system of someembodiments are traveled along using several different modes of transit.Examples of such a route include a bus line of a bus system, a subwayline of a subway system, a train line of a railway system, etc.

This application frequently refers to a trip or trips along a route. Insome embodiments, a trip along a route is defined as travel in onedirection along the route via a transit vehicle that starts at one ofthe stops of the route, ends at another stop in the route, and mayinclude any number of stops between the start and end stops. In someinstances, a trip includes only a start stop and an end stop along theroute.

FIG. 1 conceptually illustrates the commute application of someembodiments providing different routes and schedules for trips along thedifferent routes. Specifically, FIG. 1 illustrates a graphical userinterface (GUI) 100 of the commute application at six different stages105-130 of providing schedules for trips along different routes.

The first stage 105 illustrates the GUI 100 displaying a page forviewing different routes. As shown, the page of the GUI 100 in the firststage 105 includes display areas 102, 144, and 154. In some embodiments,the display area 102 is for providing status information. As shown, thedisplay area 102 in this example is displaying icons indicating thestrength of a signal (e.g., cellular signal strength) being received ata device on which the commute application is operating, the strength ofthe battery powering the device, and the current time, which may be setmanually by a user or automatically by the device.

In the first stage 105, the display area 144 is displaying a label“Routes” to indicate that the currently displayed page of the GUI 100 isdisplaying different routes. Also in the first stage 105, the displayarea 154 is displaying several selectable user interface (UI) items132-142. Each UI item 132-142 is for transitioning to displaying a pageof the GUI 100 that shows details of a particular route. As illustrated,each UI item 132-142 includes a graphical indicator (e.g., an icon) thatrepresents the particular route.

In addition, the first stage 105 of the GUI 100 shows a user selectingone of the selectable UI items 132-142 in order to view details of aroute. In particular, the user in this example is selecting the UI item136 by using a finger to tap on the UI item 136 displayed on atouchscreen of a device on which the commute application is operating inorder to view details of a route labeled Federal. When the commuteapplication receives the selection of the UI item 136, the commuteapplication of some embodiments transitions to displaying a page thatshows the details of the Federal route.

The second stage 110 shows the GUI 100 after the user selected the UIitem 136 to view the details of the Federal route. As shown, the secondstage 110 of the GUI 100 shows a page in which the display area 144 isdisplaying the name of a route for which details are being displayed(the Federal route in this example), a UI control 146 for displaying theschedules for different trips along the route, and a selectable UI item152 for transitioning back to the page of the GUI 100 displaying thedifferent routes that is illustrated in the first stage 105.

The UI control 146 includes a selectable UI item 148 for displaying tripinformation for a trip that is scheduled to run before the trip forwhich trip information is currently being displayed in the display area154. Additionally, the UI control 146 includes a selectable UI item 150for displaying trip information for a trip that is scheduled to runafter the trip for which trip information is currently displayed in thedisplay area 154.

At the second stage 110, the display area 154 is displaying a table thatincludes the stops along a route selected from the page illustrated inthe first stage 105. The table also displays a schedule for a trip alongthe selected route. As shown in the second stage 110, the display area154 is displaying the top portion of the table that shows along the leftside in separate rows of the table the first several stops along theFederal route that starts at a stop named Victoria followed by stopsnamed Lincoln 7, Federal at Hill, Thurgood, Foothill 1, Ocean, and Aprilat 7th. In addition, the top portion of the table shows along the rightside of the corresponding rows in the table several times of theschedule for the first several stops of the trip along the Federalroute. As illustrated, the trip is scheduled to start at the Thurgoodstop at 7:00 AM and follows with stops at Foothill 1 at 7:22 AM, Oceanat 7:41 AM, and April at 7th at 8:19 AM.

As further described below, the commute application of some embodimentsdisplays the stops of the route and their corresponding schedule basedon the current time of the device. In some of these embodiments, thecommute application also accounts for the location of the device onwhich the commute application is executing in determining what portionof a route to display. Also as illustrated in FIG. 1, some of the stops(e.g. Victoria, Lincoln 7, and Federal at Hill) in stage 110 do not havecorresponding scheduled time. These stops may not have correspondingscheduled time for different reasons in different embodiments. Forinstance, the dynamic focus table of some embodiments does not providescheduled time for a stop when the stop is not active, the stop isalready passed in a particular trip, or the stop is not included in atrip that is currently being displayed in the dynamic focus table.

The second stage 110 of the GUI 100 shows the user performing a scrolloperation on the table in order to view a different portion of thetable. As shown in this example, the user is performing the scrolloperation by using a finger to touch a location in the display area 154displayed on the touchscreen and dragging the finger along thetouchscreen in an upwards direction relative to the GUI 100 in order toscroll the table upwards and view the bottom of the table. The secondstage 110 illustrates that the GUI 100 in this example provides the usera single point in the commute application at which to view the stops atthe start and end of a particular route and any stops in between thestart and end stops. When the commute application of some embodimentsreceives the described gesture input for scrolling the table, thecommute application scrolls the table upwards with respect to thedisplay area 154 to display the bottom portion of the table.

The third stage 115 illustrates the GUI 100 after the user performed thescrolling operation on the table to view the bottom portion of thetable. In the third stage 115, the display area 154 is displaying thebottom portion of the table, which shows along the left side in separaterows of the table the last two stops named Wilshire at Bundy and Pico at17th that follow the April at 7th stop along the Federal route. Thebottom portion of the table also shows along the right side of thecorresponding row in the table the time of the schedule for the laststop of the trip along the Federal route. As shown, the trip isscheduled to end at the Pico at 17th stop at 9:29 AM.

Additionally, the third stage 115 of the GUI 100 shows the userselecting one of the selectable UI items of the UI control 146 to view aschedule for a different trip along the Federal route. Specifically, theuser in the third stage 115 is selecting the UI item 150 of the UIcontrol 146 by using a finger to tap the UI item 150 displayed on thetouchscreen in order to view a schedule for a different trip along theFederal route that is scheduled to run after the trip currentlydisplayed in the third stage 115. When the commute application receivesthe selection of the UI item 150, the commute application of someembodiments replaces the schedule of the current trip displayed in thetable with a schedule for a different trip along the Federal route thatis scheduled to run after the trip currently displayed in the thirdstage 115. In some embodiments, upon receiving the selection of the UIitem 150, the commute application replaces the table currently displayedin the display area 154 with a table that includes the same stops alongthe Federal route and a schedule for a different trip along the Federalroute that is scheduled to run after the trip currently displayed in thethird stage 115.

Next, the fourth stage 120 shows the GUI 100 after the user selected theUI item 150 to view a scheduled time for a different trip along theFederal route. As shown, the fourth stage 120 shows the display area 154is displaying the bottom portion of the table illustrated in the secondand third stages 110 and 115 except the table in the fourth stage 120includes the schedule for a trip along the Federal route that isscheduled to run after the trip displayed in the third stage 115. Inthis example, the bottom portion of the table shows along the left sidein separate rows of the table the same stops along the Federal routethat are illustrated in the third stage 115. The bottom portion of thetable also shows along the right side of the corresponding rows in thetable several times of the schedule for the last several stops of thetrip along the Federal route. As shown, the last several stops of thetrip in this example is scheduled to stop at the Thurgood stop at 7:55AM the Foothill 1 stop at 8:12 AM, the Wilshire at Bundy stop at 9:33AM, and the Pico at 17th stop at 10:19 AM.

The fourth stage 120 of the GUI 100 also shows the user selecting theselectable UI item 152 to view the different routes shown in the firststage 105. As shown, the user in the fourth stage 120 is selecting theUI item 152 by using a finger to tap the UI item 152 displayed on thetouchscreen in order to return to the page illustrated in the firststage 105 displaying different routes. Upon receiving the selection ofthe UI item 152, the commute application of some embodiments transitionsto displaying the page illustrated in the first stage 105.

The fifth stage 125 illustrates the GUI 100 after the user selected theUI item 152 to view the page displaying the different routes illustratedin the first stage 105. For the example shown in the fifth stage 125,the user is selecting the UI item 138 by using a finger to tap on the UIitem 138 displayed on the touchscreen in order to view details of aroute labeled Rodeo. When the commute application receives the selectionof the UI item 138, the commute application of some embodimentstransitions to displaying a page that shows the details of the Rodeoroute.

Finally, the sixth stage 130 shows the GUI 100 after the user selectedthe UI item 138 to view the details of the Rodeo route. As illustratedin the sixth stage 130, the GUI 100 is displaying a page in which thedisplay area 144 is displaying the name of a route for which details arebeing displayed (the Rodeo route in this example) as well as the UIcontrol 146 and the selectable UI item 152.

In addition, the display area 154 in the sixth stage 130 is displaying atable that includes the stops along the Rodeo route and a schedule for atrip along the Rodeo route. Specifically, the table shows along the leftside in separate rows of the table the stops along the Rodeo route thatstarts at a stop named Lambert, continues with stops named Maroon 3,Victoria, Chester Creek, Fleet at 2nd, Clarke at Gable, and ends at astop named Whitefield. The table in the sixth stage 130 also shows alongthe right side of the corresponding rows in the table times of theschedule for the stops of the trip along the Rodeo route. Asillustrated, the trip is scheduled to start at the Lambert stop at 7:03AM, follows with a stop at Fleet at 2nd at 7:33 AM, and ends at theClarke and Gable stop at 8:08 AM.

FIG. 2 conceptually illustrates the commute application of someembodiments providing different routes and scheduled times of tripsalong the different routes through a focus table. In particular, FIG. 2illustrates the GUI 100 of the commute application at six differentstages 205-230 of providing schedules for trips along different routes.

The first stage 205 of the GUI 100 is the same as that GUI 100illustrated in the first stage 105 described above by reference toFIG. 1. That is, the first stage 205 shows a page of the GUI 100 forviewing different routes. Specifically, the display area 102 isdisplaying icons indicating the strength of a signal being received at adevice on which the commute application is operating, the strength ofthe battery powering the device, and the current time. Also in the firststage 205, the display area 144 is displaying the label “Routes” and thedisplay area 154 is displaying the selectable UI items 132-142

Similar to the first stage 105 of FIG. 1, the first stage 205 shows auser selecting the UI item 136 by using a finger to tap on the UI item136 displayed on the touchscreen of the device on which the commuteapplication is operating in order to view details of a route labeledFederal. Upon receiving the selection of the UI item 136, the commuteapplication of some embodiments transitions to a page displaying thedetails of the Federal route.

The second stage 210 shows the GUI 100 after the user selected the UIitem 136 to view the details of the Federal route. As shown, the secondstage 210 of the GUI 100 shows a page in which the display area 144 isdisplaying the name of a route for which details are being displayed(the Federal route in this example) and the selectable UI item 152.

The display area 154 in this example is for displaying a focus tablethat includes two columns 235 and 240. The column 235 is for displayingstops along a route selected from the page for displaying differentroutes illustrated in the first stage 205. The column 240 is fordisplaying a schedule for a trip along the selected route. Asillustrated, the color by which column 240 is represented in the focustable is different than the color of the other column 235. In someembodiments, the difference in representation of columns of a focustable indicates that other user inputs (e.g., scrolling up/down, etc.)are available to receive more trips' information along a certain route.As shown, the display area 154 is displaying the top portion of a focustable that includes the stops along the Federal route, which the userselected in the first stage 205, and a schedule for a trip along theFederal route. Specifically, the top portion of the focus table isdisplaying in separate rows of the column 235 shows the same firstseveral stops along the Federal route that are illustrated in the secondstage 110 of FIG. 1. The top portion of the focus table is alsodisplaying in corresponding rows of the column 240 the times of theschedule for the first several stops of the same trip along the Federalroute as the times illustrated in the second stage 110 of FIG. 1.

The second stage 210 of the GUI 100 also shows the user performing ascroll operation on the focus table in order to view a different portionof the focus table. The user in this example is performing the scrolloperation by using a finger to touch a location in the display area 154displayed on the touchscreen and dragging the finger along thetouchscreen in an upwards direction relative to the GUI 100 in order toscroll to the focus table upwards and view the bottom of the focustable. When the commute application of some embodiments receives thedescribed gesture input for scrolling the focus table, the commuteapplication scrolls the focus table upwards with respect to the displayarea 154 to display the bottom portion of the focus table.

The third stage 215 illustrates the GUI 100 after the user performed thescrolling operation on the focus table to view the bottom portion of thefocus table. In the third stage 215, the display area 154 is displayingthe bottom portion of the focus table, which shows in separate rows ofthe column 235 the last two stops of the same trip along the FederalRoute illustrated in the third stage 115 of FIG. 1. Additionally, thebottom portion of the focus table shows in a corresponding row of thecolumn 240 the time of the schedule for the last stop of the same tripalong the Federal route shown in the third stage 115 of FIG. 1.

In addition, the third stage 215 of the GUI 100 shows the userperforming a scroll operation on the column 240 of the focus table toview a schedule for a different trip along the Federal route.Specifically, the user in the third stage 215 is performing the scrolloperation by using a finger to touch a location on the column 240 of thefocus table in the display area 154 that is displayed on the touchscreenand dragging the finger along the touchscreen in a leftward directionrelative to the GUI 100 in order to scroll a schedule for a differenttrip into view in the column 240.

In some embodiments, when the commute application receives the describedgesture input for scrolling to the schedule for a different trip, thecommute application slides the schedule for the current trip displayedin the column 240 out of view while sliding a schedule for a differenttrip along the Federal route into view. For this example, the commuteapplication slides the schedules into and out of view such that theschedule for the current trip displayed in the column 240 appears toslide underneath the column 235 while the schedule for the differenttrip along the Federal route appears to slide out from the right side ofthe column 240 towards the left side of the column 240.

Next, the fourth stage 220 shows the GUI 100 after the user performedthe scrolling operation on the column 240 to view a scheduled time for adifferent trip along the Federal route. In the fourth stage 220, thedisplay area 154 is displaying the bottom portion of the focus tableillustrated in the second and third stages 210 and 215 except the focustable in the fourth stage 220 includes the schedule for a trip along theFederal route that is scheduled to run after the trip displayed in thethird stage 215. In this example, the bottom portion of the focus tablein separate rows of the column 235 the same stops along the Federalroute that are illustrated in the third stage 215. Additionally, thebottom portion of the focus table also shows in separate rows of thecolumn 240 several times of the schedule for the last several stops ofthe same trip along the Federal route illustrated in the fourth stage120 of FIG. 1.

The fourth stage 220 of the GUI 100 additionally shows the userselecting the selectable UI item 152 to view the different routes shownin the first stage 205. As illustrated, the user in the fourth stage 220is selecting the UI item 152 by using a finger to tap the UI item 152displayed on the touchscreen in order to return to the page illustratedin the first stage 205 displaying different routes. In some embodiments,when the commute application receives the selection of the UI item 152,the commute application transitions to displaying the page shown in thefirst stage 205.

The fifth stage 225 illustrates the GUI 100 after the user selected theUI item 152 to view the page displaying the different routes illustratedin the first stage 205. In addition, the fifth stage 225 of the GUI 100illustrates the user selecting another one of the selectable UI items132-142 in order to view details of a different route. The user in thisexample is selecting the UI item 138 by using a finger to tap on the UIitem 138 displayed on the touchscreen in order to view details of aroute labeled Rodeo. In some embodiments, upon receiving the selectionof the UI item 138, the commute application transitions to displaying apage that shows the details of the Rodeo route.

Finally, the sixth stage 230 shows the GUI 100 after the user selectedthe UI item 138 to view the details of the Rodeo route. As illustrated,the GUI 100 is displaying a page in which the display areas 144 isdisplaying the name of a route for which details are being displayed(the Rodeo route in this example) and the selectable UI item 152.

The sixth stage 230 also shows the display area 154 displaying a focustable that includes the stops along the Rodeo route and a schedule for atrip along the Rodeo route. Specifically, the focus table shows inseparate rows of the column 235 the same stops along the Rodeo routethat are illustrated in the sixth stage 130 of FIG. 1. Additionally, thefocus table in the sixth stage 230 shows in corresponding rows of thecolumn 240 the times of the schedule for the stops of the same tripalong the Rodeo route illustrated in the sixth stage 130 of FIG. 1.

While FIG. 2 illustrates an example of a focus table in which stops of aroute and a schedule for a trip along the route are displayed indifferent columns, the commute application of some embodiments providesa focus table in which stops of a route and a schedule for a trip alongthe route are displayed in different rows. In some such embodiments, theschedules for different trips along the route are scrollable (e.g.,along a vertical direction) through the row for displaying a schedule ofa trip along the route.

FIG. 3 conceptually illustrates the commute application of someembodiments that provides a feature for saving a route. Specifically,FIG. 3 illustrates the GUI 100 of the commute application at sixdifferent stages 305-330 of creating a saved route. In some embodiments,a saved route includes a portion of a defined route (e.g., the routesdisplayed in the first stage 105 of FIG. 1). The portion of the definedroute in some embodiments includes some but not all of the stops in thedefined route. In some embodiments, the portion of the defined routeincludes all the stops in the defined route. The first stage 305illustrates the GUI 100 displaying a page for creating a saved route.

As shown in the first stage 305, the page of the GUI 100 includes thedisplay areas 102, 144, and 154. The display area 102 in this stage 305is displaying the same information that is displayed in the display area102 described above by reference to FIGS. 1 and 2. The display area 144is displaying in the first stage 305 a label Federal to indicate thatthe information currently displayed on page of the GUI 100 is for theFederal route, a selectable UI item 352 for transitioning back to a pageof the GUI 100 displaying different routes (e.g., the page of the GUI100 illustrated in the first stages of FIGS. 1 and 2), and a selectableUI item 335 for storing a saved route.

In this example, the display area 154 is for displaying a table thatincludes stops of a route, a movable UI control 340 for selecting a stopin the route as a starting point stop of a saved route, and a movable UIcontrol 345 (not shown in the first stage 305) for selecting a stop inthe route as an ending point stop of the saved route. For this example,the UI control 340 is positioned at a default location at the top of thetable and the UI control 345 is positioned at a default location at thebottom of the table. In some embodiments, the UI controls 340 and 345are referred to as stop pickers.

Additionally, the first stage 305 of the GUI 100 shows a user moving theUI control 340 to select a starting point stop for a saved route. Inparticular, the user in this example moves the UI control 340 by using afinger to touch the UI control 340 displayed on the touchscreen anddragging the finger along the touchscreen in a downward directionrelative to the GUI 100 to a stop in the table displayed on thetouchscreen in order to select the stop as the starting point stop ofthe saved route. When the commute application of some embodimentsreceives the described gesture input to select a stop in the table, thecommute application moves the UI control 340 downwards with respect tothe display area 154 and over the stop in the table.

The second stage 310 illustrates the GUI 100 after the user moved the UIcontrol 340 to select a stop in the Federal route. As shown, the user inthis example moved the UI control 340 over the Federal at Hill stop inthe table to select the stop as the starting point stop of the savedroute.

The second stage 310 of the GUI 100 also shows the user performing ascroll operation on the table in order to view a different portion ofthe table. For this example, the user is performing the scroll operationby using a finger to touch a location in the display area 154 displayedon the touchscreen and dragging the finger along the touchscreen in anupwards direction relative to the GUI 100 in order to scroll the tableupwards and view the bottom of the table. In some embodiments, uponreceiving the described gesture input for scrolling the table, thecommute application scrolls the table upwards with respect to thedisplay area 154 to display the bottom portion of the table.

The third stage 315 illustrates the GUI 100 after the user performed thescrolling operation on the table to view the bottom portion of thetable. As shown, the display area 154 is displaying the bottom portionof the table, which shows in separate rows of the table the last severalstops that follow the April at 7th stop along the Federal route. Thelast several stops in this example are named Wilshire at Bundy, Pico at17^(th), Filmore at Jackson, Ondulando, Campus, 30th at Church, andCastro at 24th. In addition, the third stage 315 shows the display area154 displaying the UI control 345, which is positioned at the bottom ofthe table.

The third stage 315 of the GUI 100 further illustrates the user movingthe UI control 345 to select an ending point stop for the saved route.For this example, the user moves the UI control 345 by using a finger totouch the UI control 345 displayed on the touchscreen and dragging thefinger along the touchscreen in an upward direction relative to the GUI100 to a stop in the table displayed on the touchscreen in order toselect the stop as the ending point stop of the saved route. When thecommute application receives the described gesture input to select astop in the table, the commute application of some embodiments moves theUI control 345 upwards along the display area 154 and over the stop inthe table.

The fourth stage 320 shows the user finished with moving the UI control345 to the Ondulando stop in order to select the ending point stop inFederal route. In this example, the user moved the UI control 345 overthe Ondulando stop in the table to select the stop as the ending pointstop of the saved route.

The fourth stage 320 of the GUI 100 also illustrates the user performinga scroll operation on the table in order to view a different portion ofthe table. For this example, the user is performing the scroll operationby using a finger to touch a location in the display area 154 displayedon the touchscreen and dragging the finger along the touchscreen in anupwards direction relative to the GUI 100 in order to scroll the tableupwards and view the bottom of the table. In some embodiments, uponreceiving the described gesture input for scrolling the table, thecommute application scrolls the table upwards with respect to thedisplay area 154 to display the bottom portion of the table.

Next, the fifth stage 325 shows the user selecting the selectable UIitem 335 to store the saved route according to the stops selected by theUI controls 340 and 345. The user in this example is selecting the UIitem 335 by using a finger to tap the UI item 335 displayed on thetouchscreen in order store the saved route. Upon receiving the selectionof the UI item 335, the commute application of some embodiments stores(e.g., in a storage on the device) the saved route specifying theFederal at Hill stop in the Federal route as the starting point stop ofthe saved route and the Ondulando stop in the Federal route as theending point stop of the saved route. After storing the saved route, thecommute application of some embodiments transitions to displaying a pagethat displays a list of saved routes.

Finally, the sixth stage 330 illustrates the GUI 100 after the userselected the UI item 335 to create the saved route and the commuteapplication transitioned to a page displaying a list of saved routes. Asillustrated, the GUI 100 is displaying a page in which the display area144 is displaying a label “Saved Routes” to indicate that the currentlydisplayed page of the GUI 100 is displaying the current saved routescreated and stored by the commute application.

As shown, the display area 154 in the sixth stage 330 is displayinginformation describing saved routes stored on the device. In thisexample, the saved route stored in the fifth stage 325 is the only savedroute stored on the device. As shown, the information describing thesaved route includes an icon indicating the route from which the savedroute was created (the Federal route in this example), the starting andending point stops of the saved route, and different countdown times fordifferent trips along the saved route. In some embodiments, as shown inthis example, the countdown times for the next three trips along thesaved route are displayed. A countdown time in some embodimentsindicates an amount of time until transit vehicles will arrive at thestarting point stop of the saved route (the Federal at Hill stop in thisexample) based on the current time of the device. Specifically, thecountdown times for the saved route in this example indicate thattransit vehicles will arrive at the Federal at Hill stop in 5 minutes,15 minutes, and 22 minutes. In some embodiments, the commute applicationconstantly, or at defined intervals, updates the countdown timesdisplayed in the display area 154. In some embodiments, the commuteapplication updates the countdown times based on the updates that thecommute application receives on the arrival and departure time oftransit vehicles at each stop along a route from a set of serversoperated by a transit operator or from one or more third parties thatcollect this information from the transit operator or from equipmentthat these parties install on the transit vehicles.

A general view of a commute application of some embodiments and how theapplication provides different routes and schedules for trips along thedifferent routes, a focus table feature, and a feature for saving aroute were described above by reference to FIGS. 1-3. Several moredetailed embodiments of the invention are described below. Section Idescribes example features of a commute application of some embodiments.Next, Section II describes Dynamic Focus Table feature provided by thecommute application of some embodiments. Section III then describesdetails and examples of Favorites feature provided by the commuteapplication in some embodiments. Section IV presents several otherfeatures provided by the commute application of some embodiments.Section V describes the server side features and how data is provided toa commute application of some embodiments. Section VI describes anelectronic system with which some embodiments of the invention areimplemented.

I. Example Features

FIG. 4 conceptually illustrates the commute application of someembodiments that provides several different features. In particular,FIG. 4 illustrates the GUI 100 of the commute application at fourdifferent stages 405-420 showing different features of the commuteapplication.

The first stage 405 of the GUI 100 illustrates a Favorites feature ofthe commute application. As shown, the first stage 405 shows a page ofthe GUI 100 for displaying the current saved routes created and storedby the commute application. As shown, the page of the GUI 100 in thefirst stage 405 includes display areas 102, 144, and 154. The displayarea 102 in this stage 405 is displaying the same information that isdisplayed in the display area 102 described above by reference to FIGS.1 and 2. The display area 144 is displaying in the first stage 405 alabel “Favorites” to indicate that the currently displayed page of theGUI 100 is for the Favorites feature, a selectable UI item 425 forediting (e.g., modifying, deleting, etc.) saved routes displayed in thedisplay area 154, and a selectable UI item 430 for transitioning to apage of the GUI 100 for creating a saved route.

In this example, the display area 154 is for displaying informationdescribing different saved routes stored on the device in differentselectable rows. In this example, the display area 154 is displayinginformation describing one saved route in a selectable row that includesan icon indicating the route from which the saved route was created, thestarting and ending point stops of the saved route, and differentcountdown times for different trips along the saved route. In someembodiments, as shown in this example, the countdown times for the nextthree trips along the saved route are displayed. Specifically, thecountdown times for the saved route in this example indicate thattransit vehicles will arrive at the State stop in 5 minutes, 9 minutes,and 20 minutes. The commute application of some embodiments constantly,or at defined intervals, updates the countdown times displayed in thedisplay area 154.

The selectable UI items 435-450 are for navigating to a page of the GUI100 for a particular feature. In particular, when a user is using aparticular feature of the commute application, the UI items 435-450allow the user to quickly access any of the other features. In thisexample, the UI item 435 is for navigating to a page for the Favoritesfeature, the UI item 440 is for navigating to a page for a Routesfeature, the UI item 445 is for navigating to a page for an Advisoriesfeature, and the UI item 450 is for navigating to a page for an Infofeature. The Routes feature, Advisories feature, and Info feature willbe describe below.

The first stage 405 of the GUI 100 also shows a user selecting the UIitem 440 to navigate to a page of the GUI 100 for the Routes feature. Inthis example, the user is selecting the UI item 440 by using a finger totap on the UI item 440 displayed on the touchscreen of the device onwhich the commute application is operating in order to view the page forthe Routes feature. When the commute application receives the selectionof the UI item 440, the commute application of some embodimentstransitions to displaying a page for the Routes feature.

The second stage 410 shows the GUI 100 after the user selected the UIitem 440 to view the page for the Routes feature. As shown, the secondstage 410 of the GUI 100 is similar to the first stage 105 of the GUI100 for viewing different routes as described above by reference toFIG. 1. Specifically, the second stage 410 shows the display area 402displaying icons indicating the strength of a signal, the strength ofthe battery, and the current time; the display area 144 displaying thelabel “Routes” to indicate that the currently displayed page of the GUI100 is displaying different routes; and the display area 154 displayingthe selectable UI items 132-142. In addition, the display area 154 inthe second stage 410 is displaying the selectable UI items 435-450 atthe bottom of the display area 154.

The second stage 410 of the GUI 100 also illustrates the user selectingthe UI item 445 to navigate to a page of the GUI 100 for the Advisoriesfeature. The user for this example is selecting the UI item 445 by usinga finger to tap on the UI item 445 displayed on the touchscreen in orderto view the page for the Advisories feature. Upon receiving theselection of the UI item 445, the commute application of someembodiments transitions to displaying a page for the Advisories feature.

The third stage 415 illustrates the GUI 100 after the user selected theUI item 445 to view the page for the Advisories feature. In the thirdstage 415 the display area 144 is displaying the label “Advisories” toindicate that the currently displayed page of the GUI 100 is displayinga list of notifications. The display area 154 in the third stage 415 isdisplaying a notification received on Mar. 27, 2013 at 5:30 AMindicating that a transit vehicle for the trip DC0630 traveling alongroute B is running 10 minutes late. Additionally, the display area 154is displaying the selectable UI items 435-450 at the bottom of thedisplay area 154.

The third stage 415 of the GUI 100 also shows the user selecting the UIitem 450 to navigate to a page of the GUI 100 for the Info feature. Theuser in this example is selecting the UI item 450 by using a finger totap on the UI item 450 displayed on the touchscreen in order to view thepage for the Info feature. In some embodiments, when the commuteapplication receives the selection of the UI item 450, the commuteapplication transitions to displaying a page for the Info feature.

The fourth stage 420 illustrates the GUI 100 after the user selected theUI item 450 to view the page for the Info feature. As shown in thefourth stage 420, the display area 144 is displaying the label “Info” toindicate that the currently displayed page of the GUI 100 is displayinginformation related to the commute application as well as otherinformation. The fourth stage 420 also shows the display area 154displaying contact information, advice for riders, and information abouthow to get around. The display area 154 is also displaying theselectable UI items 435-450 at the bottom of the display area 154.

II. Dynamic Focus Table

As described above, the commute application of some embodiments providesseveral different features for viewing different routes, portions ofdifferent routes, and schedules for trips along the different routes.The following section will describe details, examples, and embodimentsof a Routes feature provided by the commute application of someembodiments.

FIG. 5 conceptually illustrates the commute application of someembodiments providing different routes and scheduled times of tripsalong the different routes through a dynamic focus table. In particular,FIG. 5 illustrates the GUI 100 of the commute application at sixdifferent stages 505-530 of providing schedules for trips alongdifferent routes.

The first stage 505 is similar to the first stage 205 of FIG. 2 exceptthe first stage 505 of FIG. 5 includes the selectable UI items 435-450arranged at the bottom of the display area 154. As shown, the UI item440 is highlighted to indicate that the currently displayed page of theGUI 100 is for the Routes feature. In addition, the first stage 505shows in this example a user selecting the UI item 136 to view thedetails of the Federal route in the same manner as that described aboveby reference to the first stage 205 of FIG. 2.

The second stage 510 is similar to the second stage 210 of FIG. 2. Thesecond stage 510 additionally shows that the dynamic focus tabledisplayed in the display area 154 includes a status circle adjacent tothe left side of each stop in the dynamic focus table to graphicallyindicate the state or status of the stop. Also, each status circle isconnected to adjacent status circles with a line. In some embodiments,each line connecting two status circles has two different appearancesthat represent two different states of the connection between the twostops that the line is connecting. The two different appearances of eachline include in some embodiments (1) a colored (e.g., filled) line toindicate that the connection is active and (2) a grayed-out circle(e.g., a grayed-out version of the colored line) to indicate that theconnection is inactive.

In some embodiments, each status circle has three different appearancesthat represent three different states of the stop to which the statuscircle is associated. The three different appearances of each statuscircle include in some embodiments (1) an empty (e.g., non-filled)circle to indicate that the stop is not included in a trip that iscurrently being displayed in the dynamic focus table, (2) a colored(e.g., filled) circle to indicate that the stop is included in a tripthat is currently being displayed in the dynamic focus table and thatthe stop is coming up, and (3) a grayed-out circle (e.g., a grayed-outversion of the colored circle) to indicate that the stop is included ina trip that is currently being displayed in the dynamic focus table andthat the stop has been passed. As shown in the second stage 510, thestatus circles for the Victoria, Lincoln 7, and Federal at Hill stopsare empty and the status circles for the Thurgood, Foothill 1, Ocean,and April at 7th stops are colored.

Additionally, the second stage 510 of the GUI 100 also shows the userperforming a scroll operation on the focus table in order to view adifferent portion of the focus table in the same manner as thatdescribed above by reference to the second stage 210 of FIG. 2.

The third stage 515 is similar to the third stage 215 of FIG. 2 but thethird stage 515 of FIG. 5 illustrates that the dynamic focus tabledisplayed in the display area 154 includes status circles adjacent tothe stops, as explained above. As illustrated, the status circles forthe Wilshire at Bundy and Pico at 17th stops are empty. The third stage515 also shows the user performing a scroll operation on the column 240of the focus table to view a schedule for a different trip along theFederal route in the same fashion as that described above by referenceto the third stage 215 of FIG. 2.

As described above, when the commute application of some embodimentsreceives the gesture input for scrolling to the schedule for a differenttrip, the commute application slides the schedule for the current tripdisplayed in the column 240 out of view while sliding a schedule for adifferent trip along the Federal route into view. In some embodiments,the commute application also updates the status circles of each stopbased on the schedule for the different trip along the Federal routethat is sliding into view.

The fourth stage 520 is similar to the fourth stage 220 of FIG. 2. Thefourth stage 520 of FIG. 5 also illustrates that the focus tabledisplayed in the display area 154 includes status circles adjacent tothe stops. The commute application for this example updated the statuscircles of the stops along the Federal route to reflect the schedule forthe trip displayed in the dynamic focus table. As shown, the statuscircles for the Federal at Hill, Ocean, April at 7th, and Pico at 17thstops are empty to indicate that these stops are not included in thetrip currently being displayed in the dynamic focus table. The Thurgood,Foothill 1, Wilshire at Bundy, and Pico at 17th stops are colored toindicate that the stops are included in the trip currently beingdisplayed in the dynamic focus table. The fourth stage 520 additionallyillustrates the user selecting the selectable UI item 152 to view thedifferent routes shown in the first stage 505 in the same manner as thatdescribed above by reference to the fourth stage 220 of FIG. 2.

The fifth stage 525 is similar to the fifth stage 225 of FIG. 2 exceptthe fifth stage 525 of FIG. 5 also shows the selectable UI items 435-450arranged at the bottom of the display area 154. In addition, the fifthstage 525 shows the user selecting the UI item 138 in the same fashionas that described above by reference to the fifth stage 25 of FIG. 2.

The sixth stage 530 is similar to the sixth stage 230 of FIG. 2 but thesixth stage 530 of FIG. 5 shows that the focus table displayed in thedisplay area 154 includes status circles adjacent to the stops. Asshown, the status circles for the Maroon 3, Victoria, Chester Creek, andWhitefield stops are empty and the status circles for the Lambert, Fleetat 2nd, and Clarke and Gable stops are colored.

FIG. 6 conceptually illustrates the commute application of someembodiments providing a page for displaying different routes. The GUI100 is similar to the first stage 505 described above by reference toFIG. 5 except the routes displayed in the display area 154 of FIG. 6 areorganized according to the geographical area to which the routes belong.In some embodiments, the routes are organized according to thegeographical area from which the routes start and/or at which the routesend.

For this example, the routes Bundy, Emerson, and Federal are arrangedunder a banner labeled “Los Angeles” to indicate that these routesbelong to the Los Angeles area. The Rodeo route is arranged under abanner labeled “Orange County” to indicate that the Rodeo route belongsto the Orange County area. Lastly, the routes 16th Avenue and Campus arearranged under a banner labeled “Riverside” to indicate that theseroutes belong to the Riverside area.

FIG. 7 conceptually illustrates a perspective view of the dynamic focustable of some embodiments. Specifically, FIG. 7 illustrates theperspective view of the dynamic focus table at two different stages 705and 710 that corresponds to the dynamic focus table described above byreference to the third and fourth stages 515 and 520 of FIG. 5.

The first stage 705 illustrates the GUI 100 at the third stage 515 ofFIG. 5 and a corresponding perspective view of the dynamic focus tablein the GUI 100. As shown, the dynamic focus table of some embodimentsincludes two components: a stationary panel 715 and a movable panel 720.The right side of the panel 715 is transparent (e.g., an open window),allowing portions of the panel 720 to be displayed through the rightside of the panel 715. The left side of the panel 715 is for displayingmetadata regarding a trip (e.g., statuses of stops in the route) in thepanel 720 that is being displayed through the right side of the panel715. As shown, the left side of the panel 715 in the first stage 705 isdisplaying metadata regarding Trip 1 along the Federal route since theschedule for Trip 1 is being displayed through the right side of thepanel 715. The metadata in this example includes the statuses of thestatus circles for the stops along the Federal route based on Trip 1.The movable panel 720 includes schedules for different trips along aparticular route. As shown in the first stage 705, the movable panel 720includes schedules for Trip 1 and Trip 2 along the Federal route. Theschedule of some embodiments includes times for each stop along aparticular trip.

In some embodiments, the commute application moves the panel 720according to input that the commute application receives (e.g., theinput described above by reference to the third stage 215 of FIG. 2) toview a schedule for a different trip. When the schedule in the panel 720displayed through the right side of the panel 715 changes, the commuteapplication of some embodiments updates the left side of the panel 715to display the metadata regarding the schedule in the panel 720 that isdisplayed through the right side of the panel 715.

The second stage 710 illustrates the GUI 100 at the fourth stage 520 ofFIG. 5 and the corresponding perspective view of the dynamic focus tablein the GUI 100. For this example, commute application moved the panel720 towards the left so that the schedule for Trip 2 is displayedthrough the right side of the panel 715. In addition, the commuteapplication updated the left side of the panel 715 to display metadataregarding Trip 2. As shown in the GUI 100 in the second stage 710, thestatus circles are updated based on the schedule for the trip beingdisplayed in the dynamic focus table.

The above-described FIG. 7 illustrates a dynamic focus table where thepanel 715 remains still while the panel 720 moves relative to the panel715 to display schedules for different trips along a particular route.In some embodiments, the commute application instead moves the panel 715with respect to the panel 720 while keeping the panel 720 fixed in orderto display different schedules in the panel 720 through the right sideof the panel 715.

FIG. 8 conceptually illustrates an example of the manner in which datais stored for the dynamic focus table of some embodiments. Inparticular, FIG. 8 illustrates components 815 and 820 of a dynamic focustable, route storage 805 and schedule storage 810. The components 815and 820 of the dynamic focus table are similar to the panels 715 and720, respectively, which are described above by reference to FIG. 7.That is, the panel 815 is a stationary panel in which the right side istransparent, allowing portions of the panel 820 to be displayed throughthe right side, and the left side is for displaying metadata regarding atrip in the panel 820 that is being displayed through the right side,and the panel 820 is a moveable panel that includes schedules fordifferent trips along a particular route.

As shown in FIG. 8, the route storage 805 is for storing metadata fordifferent routes. Examples of such metadata include the names of stopsalong a route, a geographical area to which the route belongs, agraphical representation (e.g. icons) of the route, as well as otherinformation describing the route. As illustrated, the route storage 805is storing metadata for Route 1, Route 2, Route 3, etc.

The schedule storage 810 is for storing schedule data for differenttrips along the different routes stored in the route storage 805. Theschedule data for a trip along a route in some embodiments includes atime for each of the stops on the trip along the route. As shown in FIG.8, the schedule storage 810 in this example is storing scheduleinformation for Schedule

A, Schedule B, Schedule C, Schedule D, etc. for Route 1; Schedule A,Schedule B, Schedule C, Schedule D, etc. for Route 2, etc.

In some embodiments, the schedule data for a trip along a route alsoincludes status information for the status circles in the dynamic focustable. The commute application of some such embodiments uses the statusinformation in the schedule data for a trip to update the metadatadisplayed in left side of the panel 815 when the schedule for the tripin the panel 820 is moved into view and displayed through the panel 815.

While FIG. 8 describes the data for the dynamic focus table of someembodiments stored in two separate storages, one of ordinary skill inthe art will understand that the data may be stored differently indifferent embodiments. For instance, in some embodiments, the data fortthe dynamic focus table is stored in a single physical storage while, inother embodiments, the routes and/or the schedule storage is storedacross several physical storages.

FIG. 9 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the currenttime of a device. Specifically, FIG. 9 illustrates the GUI 100 of thecommute application of some embodiments at five different stages 905-925that show the dynamic focus table automatically performing operationsbased on the current time of the device on which the commute applicationis operating.

The first stage 905 is the same as the first stage 505 of FIG. 5. Thatis, the first stage 905 illustrates the GUI 100 displaying a page forviewing different routes and a user selecting the UI item 136 in orderto view details of a route labeled Federal.

The second stage 910 is similar to the second stage 510 of FIG. 5 exceptthe dynamic focus table in the second stage 910 is displaying theschedule for a different trip along the Federal route. For this example,the schedule displayed in the dynamic focus table illustrated in thesecond stage 910 is the schedule for a default trip along the Federalroute that the commute application initially displays in the dynamicfocus table. In some embodiments, the default trip is defined as thefirst trip along a particular route scheduled for the current day. Thedefault trip can be defined differently in different embodiments. Asshown, the schedule for the default trip along the Federal route in thisexample is scheduled to start at the Victoria stop at 7:00 AM andfollows with stops at Federal at Hill at 7:01 AM, Thurgood at 7:10 AM,Foothill 1 at 7:22 AM, Ocean at 7:41 AM, and April at 7th at 8:19 AM.Accordingly, the status circles illustrated in the second stage 910 forthe Lincoln 7 stop is empty and the status circles for the Victoria,Federal at Hill, Thurgood, Foothill 1, Ocean, and April at 7th stops arecolored.

After displaying the schedule for the default trip in the dynamic focustable, the commute application of some embodiments automatically shiftsto displaying in the dynamic focus table the schedule for a trip that isscheduled to run next based on the current time of the device (10:25 AMin this example). As indicated by an arrow, the second stage 910 alsoshows the commute application beginning to slide the schedule for thedefault trip towards the left side of the column 240 and out of view.

The third stage 915 of the GUI 100 illustrates the dynamic focus tablein the middle of shifting to the schedule for the trip that is scheduledto run next, as indicated by a pair of arrows. As shown, a portion of aschedule is sliding out of view of the column 240 and a portion ofanother schedule is sliding into view of the column 240.

The fourth stage 920 of the GUI 100 illustrates the dynamic focus tableafter the schedule for the trip that is scheduled to run next hasshifted into view of the column 240. As illustrated, the schedule forthe trip along the Federal route is scheduled to start at the Victoriastop at 10:45 AM and follows with stops at Lincoln 7 at 11:02 AM,Federal at Hill at 11:21 AM, and Ocean at 12:01 PM. Accordingly, thestatus circles illustrated in the fourth stage 920 for the Thurgood,Foothill 1, and April at 7th stops are empty and the status circles forthe Victoria, Lincoln 7, Federal at Hill, and Ocean stops are colored.

The fifth stage 925 of the GUI 100 after the current time of the devicehas passed the time of a stop in the schedule for the trip displayed inthe dynamic focus table. When the commute application of someembodiments detects that the current time of the device has passed atime in the schedule for a trip displayed in the dynamic focus table,the commute application modifies the stop and the stop's status circlein the dynamic focus table to indicate that the stop has been passed andis no longer active. In this example, the commute application detectedthat the current time of the device (10:46 AM in this example) haspassed the time scheduled for the Victoria stop (10:45 Am in thisexample) and indicates that the stop has been passed and is no longeractive by graying out the stop and the stop's status circle in thedynamic focus table.

While FIG. 9 illustrates the dynamic focus table initially displayingthe schedule for a default trip and then shifting to the schedule for atrip that is scheduled to run next based on the current time of thedevice, the commute application of some embodiments does not display theschedule for the default trip and the shift to the schedule for the tripthat is scheduled to run next based on the current time of the device.Rather, in some such embodiments, commute application transitions todisplaying the dynamic focus table illustrated in the fourth stage 920when the commute application receives the selection of the UI item 136the first stage 905.

FIG. 10 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the location ofa device. In particular, FIG. 10 illustrates the GUI 100 of the commuteapplication at three different stages 1005-1015 that show the dynamicfocus table automatically performing operations based on the location ofthe device on which the commute application is operating.

The first stage 1005 is the same as the first stage 905 of FIG. 9. Thatis, the first stage 1005 illustrates the GUI 100 displaying a page forviewing different routes and a user selecting the UI item 136 in orderto view details of a route labeled Federal.

The second stage 1010 of the GUI 100 illustrates the dynamic focus tableshowing the same stops and the schedule for the same trip illustrated inthe second stage 510 of FIG. 5. In some embodiments, after the commuteapplication displays the dynamic focus table, the commute applicationdetermines the location of the device (e.g., via global positioningsystem (GPS) location data, Wi-Fi-based positioning system locationdata, cellular tower data, etc.) and automatically moves the dynamicfocus table with respect to the display area 154 so that the stop in thecurrent trip nearest to the location of the device shifts to the top ofthe display area 154. For this example, the commute application hasdetermined that the location of the device is nearest to the Thurgoodstop and is starting to shift the dynamic focus table, as indicated bythe two arrows.

The third stage 1015 shows the GUI 100 after the commute applicationfinished shifting the stop in the current trip nearest to the locationof the device to the top of the display area 154. As noted above, thecommute application in this example determined that the stop in thecurrent trip nearest to the location of the device is the Thurgood stop.As shown, the third stage 1015 shows the Thurgood stop positioned at thetop of the display area 154.

While FIG. 10 illustrates the dynamic focus table shifting to the top ofthe display area 154 the stop in the current trip nearest to thelocation of the device, the commute application of some embodimentsinstead shifts the first stop in the current trip to the top. Differentembodiments of the commute application use additional and/or differentcriteria to determine the stop in the current trip to automaticallyshift to the top.

FIG. 11 conceptually illustrates the dynamic focus table of someembodiments automatically performing operations based on the currenttime of a device and the location of the device. Specifically, FIG. 11illustrates the GUI 100 of the commute application at four differentstages 1105-1120 that show the dynamic focus table automaticallyperforming operations based on the current time of the device on whichthe commute application is operating as well as the location of thedevice.

The first stage 1105 is the same as the first stage 1005 of FIG. 10.That is, the first stage 1105 illustrates the GUI 100 displaying a pagefor viewing different routes and a user selecting the UI item 136 inorder to view details of a route labeled Federal.

The second stage 1110 is similar to the second stage 1010 of FIG. 10except the current time of the device for this example is 10:25 AM. TheGUI 100 illustrates the dynamic focus table showing the same stops alongthe Federal route and the schedule for the same trip along the Federalroute. Additionally, the commute application in this example hasdetermined that the location of the device is nearest to the Thurgoodstop and is starting to shift the dynamic focus table in order todisplay the stop in the current trip nearest to the location of thedevice at the top of the display area 154. The start of the shifting ofthe dynamic focus table is indicated in the second stage 1110 by twoarrows.

The third stage 1115 shows the GUI 100 after the commute applicationfinished shifting the stop in the current trip nearest to the locationof the device shifts to the top of the display area 154. As mentionedabove, in this example, the commute application determined that the stopin the current trip nearest to the location of the device is theThurgood stop. As illustrated in the third stage 1115, the Thurgood stoppositioned at the top of the display area 154.

For this example, the schedule displayed in the dynamic focus table isthe schedule for a default trip along the Federal route that the commuteapplication initially displays. After displaying the schedule for thedefault trip in the dynamic focus table and shifting the stop in thecurrent trip nearest to the location of the device shifts to the top ofthe display area 154, the commute application of some embodimentsautomatically shifts to displaying in the dynamic focus table theschedule for a trip that is scheduled to run next based on the currenttime of the device (10:25 AM in this example). As indicated by twoarrows, the third stage 1115 illustrates the commute application hasstarted and is in the middle of shifting the dynamic focus table to theschedule for the trip that is scheduled to run next. As shown, a portionof a schedule is sliding out of view of the column 240 and a portion ofanother schedule is sliding into view of the column 240.

The fourth stage 1120 of the GUI 100 illustrates the dynamic focus tableafter the schedule for the trip that is scheduled to run next hasshifted into view of the column 240. As illustrated, the schedule forthe trip along the Federal route is scheduled to start at the Thurgoodstop at 11:21 AM and follows with stops at April at 7th at 12:40 PM,Pico at 17th at 12:59 PM, and Plumber at 1:14 PM. Therefore, the statuscircles illustrated in the fourth stage 1120 for the Foothill 1, Ocean,and Wilshire at Bundy stops are empty and the status circles for theThurgood, April at 7th, Pico at 17th, and Plumber stops are colored.

While FIG. 11 illustrates the commute application initially displayingin the dynamic focus table the schedule for a default trip, shifting thestop in the default trip nearest to the location of the device to thetop of the display area 154, and then shifting to the schedule for atrip that is scheduled to run next based on the current time of thedevice, the commute application of some embodiments performs theseoperations differently to achieve the results displayed in the dynamicfocus table illustrated in the fourth stage 1120. For instance, thecommute application of some embodiments identifies the schedule for atrip that is scheduled to run next based on the current time of thedevice and then concurrently shifts the stop in that trip nearest to thelocation of the device to the top of the display area 154 while shiftingto the schedule for that trip. In some embodiments, the commuteapplication shifts to the schedule for a trip that is scheduled to runnext based on the current time of the device before shifting the stop insuch a trip nearest to the location of the device to the top of thedisplay area 154.

The above-described FIGS. 10 and 11 show several features that functionbased on the location of a device on which the commute application isoperating and the time of the device. One of ordinary skill in the artwill understand that the commute application of some embodiments canhave additional and/or different location-based features. For instance,in some embodiments, the commute application provides informationrelated to a particular stop when the commute application determinesthat the location of the device on which the commute application isexecuting is near the particular stop.

FIG. 12 conceptually illustrates the commute application of someembodiments that provides a feature that dynamically arranges the stopsdisplayed in the dynamic focus table. In particular, FIG. 12 illustratesthe GUI 100 at five different stages 1205-1225 that show dynamicreordering of stops along a route displayed in the dynamic focus table.In addition, FIG. 12 illustrates the route in a map 1200.

The first stage 1205 of FIG. 12 is similar to the first stage 505 ofFIG. 5 except the current time of the device is 8:00 AM. As shown, thefirst stage 1205 illustrates the GUI 100 displaying a page for viewingdifferent routes and a user selecting the UI item 136 in order to viewdetails of a route labeled Federal.

The second stage 1210 shows the GUI 100 after the user selected the UIitem 136 to view the details of the Federal route. As shown, the secondstage 1210 of the GUI 100 shows a page in which the display area 144 isdisplaying the name of a route for which details are being displayed(the Federal route in this example) and the UI item 152.

At the second stage 1210, the dynamic focus table displayed in thedisplay area 154 includes the stops along the Federal route that startsat a stop named Thurgood followed by stops named Foothill 1, Ocean,April at 7th, Culver at Tree, Fairview at 17th, and Ashland. In thisexample, a group of the stops 1235 Thurgood, Foothill 1, Ocean, andApril at 7th are geographically located at or near the city labeledSanta Monica while a group of the stops 1240 Culver at Tree, Fairview at17th, and Ashland are geographically located at or near the city labeledCulver City.

In this example, the user is located near Thurgood stop in Santa Monica,therefore the dynamic focus table is displaying a schedule for a tripalong the Federal route that is scheduled to start at the Thurgood stopat 8:15 AM and follows with stops at Foothill 1 at 8:23 AM, Ocean at8:31 AM, April at 7th at 8:43 AM, Culver at Tree at 9:25:AM, Fairview at17th at 9:31 AM, and Ashland at 9:38 AM. The longer interval between theApril at 7th stop and the Culver at Tree stop compared to the shorterintervals between scheduled times at the Thurgood, Foothill 1, Ocean,and April at 7th stops and between scheduled times at the Culver atTree, Fairview at 17th, and Ashland stops demonstrates that the group ofthe stops 1235 and the group of the stops 1240 are geographically farapart and located in different areas.

The third stage 1215 of the GUI 100 shows the user selecting theselectable UI item 152 to view the different routes shown in the firststage 1205. As illustrated in this example, the user is selecting the UIitem 152 by using a finger to tap the UI item 152 displayed on thetouchscreen in order to return to the page illustrated in the firststage 1205 displaying different routes. When the commute applicationreceives the selection of the UI item 152, the commute application ofsome embodiments transitions to displaying the page shown in the firststage 1205.

The fourth stage 1220 illustrates the GUI 100 after the user selectedthe UI item 152 to view the page displaying the different routesillustrated in the first stage 1205. As indicated in FIG. 12, an amountof time lapses between the third and fourth stages 1215 and 1220.Specifically, the current time of the device displayed in the fourthstage 1220 indicates that seven hours and twenty-five minutes has passedbetween the third and fourth stages 1215 and 1220.

The fourth stage 1220 also shows the user selecting the UI item 136 inthe same fashion described above by reference to the first stage 1205.When the commute application receives the selection of the UI item 136,the commute application of some embodiments transitions to displaying apage that shows the details of the Federal route.

The fifth stage 1225 shows the GUI 100 after the user selected the UIitem 136 to view the details of the Federal route. In some embodiments,when the commute application receives a selection of a route from a pageof the GUI 100 displaying different routes for selection, (e.g., thestages 1205 and 1220) the commute application identifies the currenttime of the device. The commute application of some embodiments uses thecurrent time of the device and/or other heuristics to anticipate thecontext in which the user is using the commute application and displaythe order of a particular route accordingly.

For instance, the commute application in this example uses the fact thatthe user selected the Federal route in the AM and in the same dayselected the Federal route in the PM to determine that the user wishesto travel along the Federal route in the opposite direction. As shown inthe fifth stage 1225, the dynamic focus table is displaying the stopsalong the Federal route in an order that is the reverse of the order ofthe stops illustrated in the second stage 1210. Different embodiments ofthe commute application use additional and/or different heuristics todetermine the order in which to display stops in the dynamic focustable.

FIG. 13 conceptually illustrates the commute application of someembodiments implemented for transit to and from work that provides afeature that dynamically reorders the stops displayed in the dynamicfocus table. In particular, FIG. 13 illustrates the GUI 100 at fivedifferent stages 1305-1325 that show dynamic reordering of stops along aroute displayed in the dynamic focus table. Additionally, FIG. 13illustrates the route in a map 1300. In this example, the location ofwork is in Orange County.

The first stage 1305 illustrates the GUI 100 displaying a page forviewing different routes. As shown, the display area 144 is displaying alabel “Routes” to indicate that the currently displayed page of the GUI100 is displaying different routes. Also in the first stage 1305, thedisplay area 154 is displaying several selectable user interface (UI)items 1332-1342. Each UI item 1332-1342 is for transitioning todisplaying a page of the GUI 100 that shows details of a particularroute. As illustrated, each UI item 1332-1342 includes a graphicalindicator (e.g., an icon) that represents the particular route.

As shown, the GUI 100 displays the routes in the first stage 1305 in asimilar manner to the routes displayed in the GUI 100 described above byreference to FIG. 6. That is, the routes displayed in the first stage1305 are organized according to the geographical area to which theroutes belong. In some embodiments, the routes are organized accordingto the geographical area from which the routes start and/or at which theroutes end.

For this example, the routes Bundy, Emerson, and Federal are arrangedunder a banner labeled “Los Angeles” to indicate that these routesbelong to the Los Angeles area. The Mira Mesa route is arranged under abanner labeled “San Diego” to indicate that the Rodeo route belongs tothe San Diego area. Lastly, the routes State Street and Gold Avenue arearranged under a banner labeled “Pasadena” to indicate that these routesbelong to the Pasadena area.

In addition, the first stage 1305 of the GUI 100 shows a user selectingthe UI item 1338 by using a finger to tap on the UI item 1338 displayedon the touchscreen in order to view details of a route labeled MiraMesa. When the commute application receives the selection of the UI item1338, the commute application of some embodiments transitions todisplaying a page that shows the details of the Mira Mesa route.

The second stage 1310 shows the GUI 100 after the user selected the UIitem 1338 to view the details of the Mira Mesa route. As shown, thesecond stage 1310 of the GUI 100 shows a page in which the display area144 is displaying the name of a route for which details are beingdisplayed (the Mira Mesa route in this example) and the UI item 152.

At the second stage 1310, the dynamic focus table displayed in thedisplay area 154 includes the stops along the Mira Mesa route thatstarts at a stop named State at 20th followed by stops named Banker'sHill, Pacific Beach, Downtown at 1st, 3 Trees, Newton at Irving, andDust Bowl. In this example, the dynamic focus table is also displaying aregion separator 1330 for indicating that stops above the regionseparator 1330 are geographically located at or near a first geographicregion (San Diego in this example) and stops below the region separator1330 are geographically located at or near a second geographic region(Orange County in this example).

In addition, the dynamic focus table is displaying a schedule for a tripalong the Federal route that is scheduled to start at the State at 20thstop at 8:15 AM and follows with stops at Banker's Hill at 8:22 AM,Pacific Beach at 8:27 AM, Downtown at 1st at 8:33 AM, 3 Trees at9:55:AM, Newton at Irving at 10:03 AM, and Dust Bowl at 10:13 AM. Thelonger interval between the Downtown at 1st stop and the 3 Trees stopcompared to the shorter intervals between scheduled times at the Stateat 20th, Banker's Hill, Pacific Beach, and Downtown at 1st stops andbetween scheduled times at the 3 Trees, Newton at Irving, and Dust Bowlstops show that the stops above the region separator 1330 and the stopsbelow the region separator 1330 are geographically far apart and locatedin different areas.

The third stage 1315 of the GUI 100 shows the user selecting theselectable UI item 152 to view the different routes shown in the firststage 1305. The user in this example is selecting the UI item 152 byusing a finger to tap the UI item 152 displayed on the touchscreen inorder to return to the page illustrated in the first stage 1305displaying different routes. Upon receiving the selection of the UI item152, the commute application of some embodiments transitions todisplaying the page illustrated in the first stage 1305.

The fourth stage 1320 illustrates the GUI 100 after the user selectedthe UI item 152 to view the page displaying the different routesillustrated in the first stage 1305. As indicated in FIG. 13, an amountof time lapses between the third and fourth stages 1315 and 1320. Inparticular, the current time of the device displayed in the fourth stage1320 indicates that nine hours has passed between the third and fourthstages 1315 and 1320.

The fourth stage 1320 also shows the user selecting the UI item 1338 inthe same manner described above by reference to the first stage 1305.When the commute application receives the selection of the UI item 1338,the commute application of some embodiments transitions to displaying apage that shows the details of the Mira Mesa route.

The fifth stage 1325 shows the GUI 100 after the user selected the UIitem 1338 to view the details of the Mira Mesa route. As describedabove, when the commute application of some embodiments receives aselection of a route from a page of the GUI 100 displaying differentroutes for selection, (e.g., the stages 1305 and 1320) the commuteapplication identifies the current time of the device. In someembodiments, the commute application uses the current time of the deviceand/or other heuristics to anticipate the context in which the user isusing the commute application and display the order of a particularroute accordingly.

For instance, the commute application in this example is implemented fortransit to and from work, which is located in Orange County in thisexample. As such, when the identified current time is before midday(i.e., AM), commute application of some embodiments displays routesaccording to a first order that ends in Orange County. When theidentified current time is after midday (i.e., PM), commute applicationof some embodiments displays routes according to a second order startingin Orange County and finishing in San Diego, i.e., the reverse of thefirst order.

As such, the commute application for this example uses the fact that theuser selected the Mira Mesa route in the AM in the first stage 1305 todisplay the order of the stops starting in San Diego and ending inOrange County. Similarly, the commute application uses the fact that theuser selected the Mira Mesa route in the PM in the fourth stage 1320 todisplay the order of the stops starting in Orange County and ending inSan Diego. As illustrated in the fifth stage 1325, the dynamic focustable is displaying the stops along the Mira Mesa route ordered from SanDiego to Orange County.

III. Favorites Feature

As explained above, in some embodiments the commute application providesseveral different features. The following section will describe details,examples, and embodiments of Favorite features provided by the commuteapplication in some embodiments.

FIG. 14 conceptually illustrates the commute application of someembodiments that provides a feature for saving a route. Specifically,FIG. 14 illustrates the GUI 100 of the commute application at sixdifferent stages 1405-1430 of creating a saved route. In someembodiments, a saved route, as described above, includes a portion of adefined route (e.g., the routes displayed in the first stage 105 of FIG.1). In some embodiments, the portion of the defined route includes somebut not all of the stops in the defined route. The portion of thedefined route of some embodiments includes all the stops in the definedroute.

The first stage 1405 illustrates the GUI 100 displaying a page forcreating a saved route. As illustrated, the display areas 144 isdisplaying a label “Favorites” to indicate that the currently displayedpage of the GUI 100 is for the Favorites feature. The display area 154is displaying the selectable UI items 435-450 and a selectable UI item1450 for navigating to a page of the GUI 100 displaying different routesfrom which to create a saved route.

The first stage 1405 of the GUI 100 also shows a user selecting the UIitem 1450 to start creating a saved route. In this example, the user isselecting the UI item 1450 by using a finger to tap on the UI item 1450displayed on the touchscreen of the device on which the commuteapplication is operating in order to initiate the creation of a route.When the commute application receives the selection of the UI item 1450,the commute application of some embodiments transitions to displaying apage for displaying different routes.

The second stage 1410 shows the GUI 100 after the user selected the UIitem 1450 to view the page for displaying different routes. As shown,the second stage 1410 is similar to the first stage 505 described aboveby reference to FIG. 5. Specifically, the second stage 1410 shows thedisplay area 144 displaying the label “Routes” to indicate that thecurrently displayed page of the GUI 100 is displaying different routes.The display area 154 in the second stage 1410 is displaying selectableUI items 1432-1442 as well as the selectable UI items 435-450 at thebottom of the display area 154. Each UI item 1432-1442 is fortransitioning to displaying a page of the GUI 100 for selecting stopsfor a saved route along a particular route. As illustrated, each UI item1432-1442 includes a graphical indicator (e.g., an icon) that representsthe particular route.

In addition, the second stage 1410 of the GUI 100 shows the userselecting the selectable UI item 1438 to create a saved route along aroute labeled Rodeo. The user in this example is selecting the UI item1438 by using a finger to tap on the UI item 1438 displayed on thetouchscreen. Upon receiving the selection of the UI item 1438, thecommute application of some embodiments transitions to displaying a pagethat shows the stops along the Rodeo route and stop pickers forselecting stops along the Rodeo for a saved route.

The third stage 1415 illustrates the GUI 100 displaying a page forcreating a saved route from the Rodeo route. As shown, the display area144 in the third stage 1415 displays a label Rodeo to indicate that theinformation currently displayed on page of the GUI 100 is for the Rodeoroute, a selectable UI item 1452 for transitioning back to the page ofthe GUI 100 displaying different routes illustrated in the second stage1410, and a selectable UI item 1435 for storing a saved route.

The display area 154 in this example is for displaying a table thatincludes the stops along the Rodeo route, a movable UI control 1440 forselecting a stop in the Rodeo route as a starting point stop of a savedroute, and a movable UI control 1445 (not shown in the third stage 1415)for selecting a stop in the Rodeo route as an ending point stop of thesaved route. For this example, the UI control 1440 is positioned at adefault location at the top of the table and the UI control 1445 ispositioned at a default location at the bottom of the table (not shownat this stage). The UI controls 1440 and 1445 of some embodiments arereferred to as stop pickers.

In addition, the third stage 1415 of the GUI 100 shows the user movingthe UI control 1440 to select a starting point stop in the Rodeo routefor a saved route. In particular, the user in this example moves the UIcontrol 1440 by using a finger to touch the UI control 1440 displayed onthe touchscreen and dragging the finger along the touchscreen in adownward direction relative to the GUI 100 to a stop in the table inorder to select the stop as the starting point stop of the saved route.When the commute application of some embodiments receives the describedgesture input to select a stop in the table, the commute applicationmoves the UI control 1440 downwards with respect to the display area 154and over the stop in the table. In some embodiments, the commuteapplication also shifts the table with respect to the display area 154so that the UI control 1445 at the bottom of the table is displayed inthe display area 154.

The fourth stage 1420 illustrates the GUI 100 after the user moved theUI control 1440 to select a stop in the Rodeo route as the startingpoint stop of the saved route. As shown, the user in this example movedthe UI control 1440 over the Fleet at 2nd stop in the table to selectthat stop as the starting point stop of the saved route. In addition,the fourth stage 1420 shows the GUI 100 after the commute applicationshifted the table with respect to the display area 154 so that the UIcontrol 1445 at the bottom of the table is displayed in the display area154.

The fourth stage 1420 of the GUI 100 also illustrates the user movingthe UI control 1445 to select an ending point stop in the Rodeo routefor the saved route. For this example, the user moves the UI control1445 by using a finger to touch the UI control 1445 displayed on thetouchscreen and dragging the finger along the touchscreen in an upwarddirection relative to the GUI 100 to a stop in the table in order toselect the stop as the ending point stop of the saved route. When thecommute application receives the described gesture input to select astop in the table, the commute application of some embodiments moves theUI control 1445 upwards along the display area 154 and over the stop inthe table.

The fifth stage 1425 illustrates the GUI 100 after the user moved the UIcontrol 1445 to select a stop in the Rodeo route as the ending pointstop of the saved route. As illustrated, the user in this example movedthe UI control 1445 over the Parks at Beacon stop in the table to selectthat stop as the ending point stop of the saved route. The fifth stage1425 also shows the user selecting the UI item 1435 to store the savedroute according to the stops selected by the UI controls 1440 and 1445.In this example, the user is selecting the UI item 1435 by using afinger to tap the UI item 1435 displayed on the touchscreen in orderstore the saved route. When the commute application receives theselection of the UI item 1435, the commute application of someembodiments stores (e.g., in a storage of the device) the saved routespecifying the Fleet at 2nd stop in the Rodeo route as the startingpoint stop of the saved route and the Parks at Beacon stop in the Rodeoroute as the ending point stop of the saved route. In some embodiments,the commute application transitions to displaying a page that displays alist of saved routes after storing the saved route.

The sixth stage 1430 illustrates the GUI 100 after the user selected theUI item 1435 to store the saved route and the commute applicationtransitioned to a page displaying a list of saved routes. As shown, thedisplay area 144 in the sixth stage 1430 is displaying a label“Favorites” to indicate that the currently displayed page of the GUI 100is for the Favorites feature, the selectable UI item 425 for editing(e.g., modifying, deleting, etc.) saved routes displayed in the displayarea 154, and the selectable UI item 430 for transitioning to a page ofthe GUI 100 for creating a new saved route (e.g., the page illustratedin the second stage 1410).

As shown, the display area 154 in the sixth stage 1430 is displaying indifferent selectable rows information describing different saved routesstored on the device. In this example, the saved route stored in thefifth stage 1425 is the only saved route stored on the device. As such,the display area 154 is displaying in a selectable row informationdescribing that saved route. The information used to describe the savedroute in the sixth stage 1430 is similar the information used todescribe the saved route in the sixth stage 330 described above byreference to FIG. 3. That is, the information describing the saved routeincludes an icon indicating the route from which the saved route wascreated (the Rodeo route in this example), the starting and ending pointstops of the saved route, and different countdown times for differenttrips along the saved route. In some embodiments, as shown in thisexample, the countdown times for the next three trips along the savedroute are displayed. As shown, the countdown times for the saved routein this example indicate that transit vehicles will arrive at the Fleetat 2nd stop in 24 minutes, 48 minutes, and 1 hour. In some embodiments,the commute application constantly, or at defined intervals, updates thecountdown times displayed in the display area 154 based on the currenttime of the device executing the commute application.

FIG. 15 conceptually illustrates the dynamic focus table of someembodiments displaying trips for a saved route stored on a device. Inparticular, FIG. 15 illustrates the GUI 100 of the commute applicationat three different stages 1505-1515 that show the dynamic focus tabledisplaying a saved routed stored on the device on which the commuteapplication is operating.

The first stage 1505 is similar to the sixth stage 1430 described aboveby reference to FIG. 14. That is, the first stage 1505 illustrates thedisplay area 144 displaying the label “Favorites”, the selectable UIitem 425, and the selectable UI item 430 and the display area 154displaying in a selectable row information describing the saved routestored on the device at the fifth stage 1425 of FIG. 14. The first stage1505 also illustrates a user selecting the selectable row displayinginformation regarding the saved route in order to view schedules fortrips along the saved route.

The user in this example is selecting the row by using a finger to tapon the row displayed on the touchscreen in order to view schedules fortrips along the saved route. In some embodiments, when the commuteapplication receives the selection of the row, the commute applicationtransitions to displaying a page for displaying schedules for tripsalong the saved route.

The second stage 1510 of the GUI 100 illustrates the dynamic focus tableshowing the same stops for the Rodeo route illustrated in the thirdstage 1415 of FIG. 14 as well as a schedule for a trip along the Rodeoroute. In some embodiments, after the commute application displays thedynamic focus table, the commute application automatically moves thedynamic focus table with respect to the display area 154 so that thestarting point stop specified in the saved route selected in the firststage 1505 shifts to the top of the display area 154 and then removesfrom the dynamic focus table the stops after the ending point stopspecified in the saved route. For this example, the commute applicationis starting to shift the dynamic focus table, as indicated by the twoarrows, so that the Fleet at 2nd stop will be displayed at the top ofthe display area 154. Additionally, the display area 144 in the secondstage 1510 is displaying a selectable UI item 1520 for transitioningback to the page of the GUI 100 displaying the saved routes stored onthe device illustrated in the first stage 1505.

For this example, the schedule displayed in the dynamic focus table isthe schedule for a default trip along the Rodeo route that the commuteapplication initially displays. After displaying the schedule for thedefault trip in the dynamic focus table, shifting the starting pointstop specified in the saved route to the top of the display area 154,and removing from the dynamic focus table the stops after the endingpoint stop specified in the saved route, the commute application of someembodiments automatically shifts to displaying in the dynamic focustable the schedule for a trip that is scheduled to run next based on thecurrent time of the device (6:00 AM in this example). In someembodiments, the commute application concurrently shifts the dynamicfocus table so that the starting point stop specified in the saved routeis displayed at the top of the display area 154, removes from thedynamic focus table the stops after the ending point stop specified inthe saved route, and shifts to the schedule for the trip that isscheduled to run next. In some embodiments, the commute applicationshifts to the schedule for the trip that is scheduled to run next beforeshifting the starting point stop to the top of the display area 154 andremoving from the dynamic focus table the stops after the ending pointstop specified in the saved route.

The third stage 1515 shows the GUI 100 after the commute applicationfinished shifting the starting point stop specified in the saved route,removing from the dynamic focus table the stops after the ending pointstop specified in the saved route, and shifts to the schedule for thetrip that is scheduled to run next. As shown, the dynamic focus table inthe third stage 1515 shows a schedule for a trip that is scheduled torun next based on the current time of the device and for the stops inthe saved route.

FIG. 16 conceptually illustrates the commute application of someembodiments providing several techniques for selecting stops for a savedroute. Specifically, FIG. 16 illustrates the GUI 100 of the commuteapplication at five different stages 1605-1625 that show differenttechniques for selecting stops for a saved route.

The first stage 1605 illustrates the GUI 100 displaying a page forcreating a saved route. As shown in the first stage 1605, the displayarea 144 is displaying a label Bundy to indicate that the informationcurrently displayed on page of the GUI 100 is for the Bundy route, aselectable UI item 1652 for transitioning back to a page of the GUI 100displaying different routes (e.g., the page of the GUI 100 illustratedin the second stage of FIG. 14), and a selectable UI item 1635 forstoring a saved route.

In this example, the display area 154 is displaying a table thatincludes stops of a route, the movable UI control 1440 for selecting astop in the route as a starting point stop of a saved route, and themovable UI control 1445 for selecting a stop in the route as an endingpoint stop of the saved route. In addition, the display area 154 in thisexample is displaying a region separator 1630 for indicating that stopsabove the region separator 1630 are geographically located at or near afirst geographic region and stops below the region separator 1630 aregeographically located at or near a second geographic region. As shown,the UI controls 1440 and 1445 in this example are positioned at defaultlocations at the top and bottom of the table, respectively.

In some embodiments, the commute application allows a user to select astarting point stop or an ending point stop for a saved route byselecting a stop in the table. In particular, when the commuteapplication of some embodiments receives a selection of a stop in thetable above the region separate 1630, the commute application identifiesthe selected stop as the starting point stop for the saved route andmoves the UI control 1440 over the selected stop. Similarly, when thecommute application of some embodiments receives a selection of a stopin the table below the region separate 1630, the commute applicationidentifies the selected stop as the ending point stop for the savedroute and moves the UI control 1445 over the selected stop.

The first stage 1605 of the GUI 100 also illustrates the user selectinga stop in the table above the region separate 1630 to select a startingpoint stop for a saved route. In particular, the user in this example isselecting the State stop by using a finger to tap the State stopdisplayed on the touchscreen in order to select the State stop as thestarting point stop for the saved route. Upon receiving the selection ofthe State stop, the commute application of some embodiments identifiesthe State stop as the starting point stop for the saved route and movesthe UI control 1440 over the selected stop.

The second stage 1610 illustrates the GUI 100 after the user selectedthe State stop in the table and the commute application moved the UIcontrol 1440 over the State stop in the table. As shown, the UI control1440 is now displayed over the State stop in the table.

As described above, the commute application of some embodiments allows auser to select a stop for a saved route by selecting and moving a stoppicker over the stop that the user wishes to select. In someembodiments, the commute application provides a sliding glass emulationfeature that generates an effect where any object or element that isoverlaid by the stop picker appears like the object or element isunderneath a sliding glass.

The third stage 1615 of the GUI 100 illustrates an example of such asliding glass emulation feature. As shown, the user in the third stage1615 is moving the UI control 1440 to select a different starting pointstop for the saved route. For this example, the user is moving the UIcontrol 1440 by using a finger to touch the UI control 1440 displayed onthe touchscreen and dragging the finger along the touchscreen in adownward direction relative to the GUI 100 to select a different stop inthe table as the starting point stop for the saved route. As shown, theportion of the status circle and text for the Union Station stop overwhich the UI control 1440 is superimposed appears as if they areunderneath a sliding glass.

The fourth stage 1620 shows the GUI 100 after the user moved the UIcontrol 1440 to select a different starting point stop for the savedroute. As illustrated, the user in this example moved the UI control1440 over the Union Station stop in the table to select that stop as thestarting point stop for the saved route. The fourth stage 1620 alsoshows the user moving the UI control 1445 to select an ending point stopfor the saved route. The user in this example is moving the UI control1445 by using a finger to touch the UI control 1445 displayed on thetouchscreen and dragging the finger along the touchscreen in an upwarddirection relative to the GUI 100 to select a stop in the table as anending point stop for the saved route. As shown, the portion of thestatus circle and text for the Wilshire at 3rd stop over which the UIcontrol 1445 is superimposed appears as if they are underneath a slidingglass.

The fifth stage 1625 illustrates the GUI 100 after the user moved the UIcontrol 1445 to select an ending point stop for the saved route. Forthis example, the user moved the UI control 1445 over the Wilshire at3rd stop in the table to select that stop as the ending point stop forthe saved route.

A. Detailed View

FIG. 17 conceptually illustrates the commute application of someembodiments providing trip information for saved routes stored on adevice. In particular, FIG. 17 illustrates the GUI 100 of the commuteapplication at four different stages 1705-1720 of providing differenttrip information for saved routes stored on the device on which thecommute application is operating.

The first stage 1705 is similar to the sixth stage 1430 described aboveby reference to FIG. 14 except the first stage 1705 illustrates thedisplay area 154 displaying in separate selectable rows 1725 and 1730information describing the saved route stored on the device in thisexample. As shown, the saved route shown in the selectable rows 1725starts at State stop and ends at Wilshire at 3rd and the saved routeshown in the selectable rows 1730 starts at Foothill 1 and ends atOndulando.

As shown in the first stage 1705, the countdown times for the savedroute shown in the selectable rows 1725 indicate that transit vehicleswill arrive at the State stop in 5 minutes, 9 minutes, and 20 minutes.Also, the countdown times for the saved route shown in the selectablerows 1730 indicate that transit vehicles will arrive at the Foothill 1stop in 15 minutes, 31 minutes, and 1 hour.

The second stage 1710 illustrates the GUI 100 after an amount of timehas passed on the current time of the device with respect to the currenttime of the device illustrated in the first stage 1705. As shown, thecurrent time on the device illustrated in the second stage 1710 is fourminutes later than the current time on the device illustrated in thefirst stage 1705. As noted above, in some embodiments, the commuteapplication constantly, or at defined intervals, updates the countdowntimes displayed in the display area 154. For instance, the commuteapplication of some such embodiments constantly, or at definedintervals, monitors the current time of the device and updates thecountdown times for the saved routes displayed in the display area 154.

As illustrated in the second stage 1710, the countdown times for thesaved route shown in the selectable rows 1725 have been updated based onthe current time of the device and now indicate that transit vehicleswill arrive at the State stop in 1 minutes, 5 minutes, and 16 minutes.Also, the countdown times for the saved route shown in the selectablerows 1730 are similarly updated and now indicate that transit vehicleswill arrive at the Foothill 1 stop in 11 minutes, 27 minutes, and 56minutes. In some embodiments, the commute application updates thecountdown times for the saved route based on both the location of thedevice and the location of the transit vehicle traversing the savedroute. For instance, the commute application of some embodimentsreceives updates to the arrival and departure time of transit vehiclesat each stop along a route from a set of servers operated by a transitoperator or from one or more third parties that collect this informationfrom the transit operator or from equipment that these parties installon the transit vehicles.

The third stage 1715 illustrates the GUI 100 after another amount oftime has passed with respect to the current time of the deviceillustrated in the second stage 1710. As shown, the current time on thedevice illustrated in the third stage 1715 is two minutes later than thecurrent time on the device illustrated in the second stage 1710.Accordingly, the countdown times illustrated in the third stage 1715 forthe saved routes shown in the selectable rows 1725 and 1730 have beendecreased by two minutes.

Instead of displaying a countdown time, the commute application of someembodiments provides a warning indicator for a saved route that atransit vehicle is arriving soon when the countdown time for a trippasses a threshold amount of time (e.g., 1 minute, 2 minutes, 5 minutes,etc.). In this example, the commute application uses a five-minutethreshold amount of time. Since the countdown time for the first tripalong the saved route displayed in the selectable row 1725 has passedthe threshold amount of time, the third stage 1715 is displaying a “NowArriving” warning indicator.

The third stage 1715 of the GUI 100 also shows a user selecting theselectable row 1730 to display a detailed view for the saved route. Inthis example, the user is selecting selectable row 1730 by using afinger to tap on selectable row 1730 displayed on the touchscreen of thedevice on which the commute application is operating in order to viewthe detailed view for the saved route. When the commute applicationreceives the selection of selectable row 1730, the commute applicationof some embodiments transitions to displaying a page displaying adetailed view for the saved route.

The fourth stage 1720 shows the GUI 100 after the user selected theselectable row 1730 to view the detailed view for the saved route. Asshown, the display area 154 in the fourth stage 1720 shows a scheduleview table that includes a list of all the trips along the saved routefor the entire day and an adjustable header 1735 that is displayed overthe schedule view table. The adjustable header 1735 includes selectableUI items 1740 and 1745 and a display area 1750 for displayinginformation regarding the saved route, which includes countdown timesfor the next three scheduled trips along the saved route that thecommute application of some embodiments updates constantly or at definedintervals. The UI item 1740 is for displaying a list view (i.e.,schedule view) in the detailed view for a saved route shown in thefourth stage 1720 while the UI item 1745 is for displaying a map view inthe detailed view for the saved route, which is described below. Thefourth stage 1720 also shows a selectable UI item 1755 for transitioningback to the page of the GUI 100 displaying the saved routes stored onthe device illustrated in the first, second, and third stages 1705-1715.

B. Schedule View

FIG. 18 conceptually illustrates the commute application of someembodiments providing a schedule view for a saved route. In particular,FIG. 18 illustrates the GUI 100 of the commute application at fourdifferent stages 1805-1820 of providing a schedule view for saved routestored on the device on which the commute application is operating.

The first stage 1805 is similar to the fourth stage 1720 described aboveby reference to FIG. 17 except the next three scheduled trips for thesaved route are different. For each of the trips listed in the scheduleview table, when the commute application detects that the current timeof the device passes the arrival time of the first stop of the trip(i.e., the starting point stop), the commute application grays out thetrip in the schedule view table. As shown in the first stage 1805, thefirst trip is grayed out because the current time of the device (6:00 AMin this example) has passed the arrival time (5:57 AM in this example)of the first stop of the first trip along the saved route. In addition,the commute application of some embodiments highlights the trip in theschedule view table that is schedule to run next. The second tripdisplayed in the schedule view table in the first stage 1805, which isthe trip in the schedule view table that is schedule to run next, ishighlighted by bolding the start and end times of the stops in the trip.

The first stage 1805 of the GUI 100 shows the user performing a scrolloperation on the schedule view table in order to view a differentportion of the schedule view table. As shown in this example, the useris performing the scroll operation by using a finger to touch a locationin the schedule view table displayed on the touchscreen and dragging thefinger along the touchscreen in an upwards direction relative to the GUI100 in order to scroll to the schedule view table downwards and view thebottom of the schedule view table. When the commute application of someembodiments receives the described gesture input for scrolling theschedule view table, the commute application scrolls the schedule viewtable upwards with respect to the display area 154 to display the bottomportion of the schedule view table.

The second stage 1810 illustrates the GUI 100 after the user performedthe scrolling operation on the schedule view table to view the bottomportion of the schedule view table. In the second stage 1810, thedisplay area 154 is displaying the bottom portion of the schedule viewtable, which shows trips along the saved route scheduled to run in theevening. In addition, the commute application has updated the countdowntimes displayed in the display area 1750 based on the current time ofthe device.

The second stage 1810 of the GUI 100 also shows the user performing ascroll operation on the schedule view table in order to view anotherportion of the schedule view table. The user in this example isperforming the scroll operation by using a finger to touch a location inthe schedule view table displayed on the touchscreen and dragging thefinger along the touchscreen in a downwards direction relative to theGUI 100 in order to scroll to the schedule view table upwards and viewthe top of the schedule view table. When the commute application of someembodiments receives the described gesture input for scrolling theschedule view table, the commute application scrolls the schedule viewtable downwards with respect to the display area 154 to display the topportion of the schedule view table.

The third stage 1815 illustrates the GUI 100 after the user performedthe scrolling operation on the schedule view table to view the topportion of the schedule view table. The trips in the schedule view tableshown in the third stage 1815 is the same as the trips in the scheduleview table shown in the first stage 1805. As shown, the countdown timesdisplayed in the display area 1750 have been updated based on thecurrent time of the device.

The fourth stage 1820 illustrates the GUI 100 after more time has passedwith respect to the current time of the device illustrated in the thirdstage 1815. As shown, the current time on the device illustrated in thefourth stage 1820 is six minutes later than the current time on thedevice illustrated in the third stage 1815. The countdown timesdisplayed in the display area 1750 have been updated accordingly basedon the current time of the device.

As noted above, when the commute application detects that the currenttime of the device passes the arrival time of the first stop of a trip,the commute application grays out the trip in the schedule view table.The fourth stage 1820 shows that the second trip in the schedule viewtable is grayed out because the current time of the device (6:20 AM inthis example) has passed the arrival time (6:15 AM in this example) ofthe first stop of the second trip along the saved route. In addition, insome embodiments, the commute application highlights the trip in theschedule view table that is schedule to run next. As shown, the thirdtrip displayed in the schedule view table in the fourth stage 1820 isnow highlighted by bolding the start and end times of the stops in thetrip.

FIG. 19 conceptually illustrates adjusting the header of the scheduleview according to some embodiments of the invention. Specifically, FIG.19 illustrates the GUI 100 of the commute application at four differentstages 1905-1920 of performing several adjustments to the header of theschedule view.

The first stage 1905 is similar to the fourth stage 1720 described aboveby reference to FIG. 17 except the first stage 1905 shows a userperforming an adjustment to the header 1735. The user in this exampleadjusts the header 1735 by using a finger to touch the header 1735displayed on the touchscreen and dragging the finger along thetouchscreen in a downward direction relative to the GUI 100 to expandthe header 1735. By providing this type of direct manipulation of theheader 1735 (as opposed to indirect manipulation of the header 1735,such as inertia-based manipulation or rubber-banding-based manipulation)to adjust the header 1735, the user is able to specifically specify theamount of space that the header 1735 occupies in the display area 154.When the commute application of some embodiments receives the describedgesture input to adjust the header 1735, the commute application movesthe header 1735 and the schedule view table downwards relative to theGUI 100 while expanding the top portion of the header 1735.

The second stage 1910 shows the GUI 100 after the user adjusted theheader 1735 to expand the top portion of the header 1735. As shown, theheader 1735 and the schedule view table are shifted downwards to makeroom for the expanded top portion of the header 1735. While the secondstage 1910 in this example shows a blank area in the expanded topportion of the header 1735, the commute application of some embodimentsdisplays different information in expanded top portion of the header1735 differently in different embodiments. For instance, in someembodiments, the commute application displays a map that illustratesscheduled trips along the saved route (e.g., any of the illustrated mapsbelow in FIGS. 21-32).

The second stage 1910 additionally shows the user performing anotheradjustment to the header 1735. For this example, the user adjusts theheader 1735 by using a finger to touch the header 1735 displayed on thetouchscreen and dragging the finger along the touchscreen in an upwardsdirection relative to the GUI 100 to contract the header 1735. Uponreceiving the described gesture input to adjust the header 1735, thecommute application of some embodiments moves the header 1735 and theschedule view table upwards relative to the GUI 100 while contractingthe top portion of the header 1735.

The third stage 1915 shows the GUI 100 after the user adjusted theheader 1735 to contract the top portion of the header 1735. As shown,the header 1735 and the schedule view table are shifted upwards to fillthe extra room created due to the contraction of the top portion of theheader 1735. The third stage 1915 of the GUI 100 also illustrates theuser continuing to perform the adjustment to the header 1735 describedabove by reference to the second stage 1910 to continue to contract thetop portion of the header 1735. As explained above, the user is able tospecifically specify the amount of space that the header 1735 occupiesin the display area 154 through the type of direct manipulation of theheader 1735 illustrated in the second and third stages 1910 and 1915 toadjust the header 1735.

The fourth stage 1920 shows the GUI 100 after the user has finishedadjusting the header 1735 to contract the top portion of the header1735. The header 1735 and the schedule view table in the fourth stage1920 are shifted upwards to fill the extra room created by thecontraction of the top portion of the header 1735. Specifically, thefourth stage 1920 illustrates that only the UI elements 1740 and 1745 ofthe header 1735 are displayed in the display area 154.

FIG. 20 conceptually illustrates the commute application of someembodiments displaying trips along a saved route selected from aschedule view table. Specifically, FIG. 20 illustrates the GUI 100 ofthe commute application at six different stages 2005-2030 of displayingseveral trips along the saved route.

The first stage 2005 is similar to the fourth stage 1720 described aboveby reference to FIG. 17 except the first stage 2005 of FIG. 20 shows theschedule view for the saved route illustrated in the row 1725. Inaddition, the first stage 2005 of the GUI 100 illustrates a userselecting a schedule for a trip that is scheduled next to run along thesaved route, as indicated by the highlighting of the trip in theschedule view table. In particular, the user in this example isselecting the schedule for the trip that is scheduled next to run alongthe saved route by using a finger to tap the trip in the schedule viewtable that is displayed on the touchscreen in order to view the schedulefor the trip. When the commute application of some embodiments receivesthe selection of the trip in the schedule view table, the commuteapplication transitions to displaying a page that shows the stops alongthe saved route and the schedule for the selected trip.

The second stage 2010 shows the GUI 100 after the user selected the tripin the schedule view table in order to view the schedule for the tripalong the saved route. As illustrated, the second stage 2010 of the GUI100 shows a page in which the display area 144 is displaying the name ofa route from which the saved route was created (the Bundy route in thisexample), a name of the trip along the saved route, and a selectable UIitem 2052 for transitioning back to the page of the GUI 100 displayingthe schedule view for the saved route illustrated in the first stage2005.

In the second stage 2010, the display area 154 is displaying a dynamicfocus table that includes the stops along the saved route and theschedule for the selected trip. As shown, the dynamic focus tabledisplays only the starting and ending point stops specified in the savedroute and all the intermediate stops between the starting and endingpoint stops. As noted above, the commute application of some embodimentsdisplays in the dynamic focus table automatic operations being performed(e.g., initially displaying the schedule for a default trip and thenautomatically shifting to displaying the schedule for a trip that isscheduled to run next and/or automatically shifting to the top, thefirst stop of the displayed schedule) to achieve the desired results inthe dynamic focus table. However, the commute application in theexamples illustrated in FIG. 20 does not perform such automaticoperations in order to display the selected trip in the dynamic focustable. Rather, in some embodiments, the commute application directlydisplays the dynamic focus table with the stops along the saved routeand the schedule for the selected trip.

The third stage 2015 shows the user performing a scroll operation on thedynamic focus table in order to view a schedule for a trip that isscheduled to run along the saved route after the schedule for the tripdisplayed in the second stage 2010. For this example, the user isperforming the scroll operation by using a finger to touch a location inthe column 240 of the dynamic focus table displayed on the touchscreenand dragging the finger along the touchscreen in a leftwards directionrelative to the GUI 100 in order to scroll a schedule for a differenttrip into view in the column 240.

In some embodiments, when the commute application receives the describedgesture input for scrolling to the schedule for a different trip, thecommute application slides the schedule for the current trip displayedin the column 240 out of view while sliding a schedule for a differenttrip along the saved route into view. For this example, the commuteapplication slides the schedules into and out of view such that theschedule for the current trip displayed in the column 240 appears toslide underneath the column 235 while the schedule for the differenttrip along the saved route appears to slide out from the right side ofthe column 240 towards the left side of the column 240.

The fourth stage 2020 shows the GUI 100 after the user performed thescrolling operation to view a scheduled time for a different trip alongthe saved route. The GUI 100 of the fourth stage 220 additionally showsthe user selecting the selectable UI item 2052 to transitioning back tothe page of the GUI 100 illustrated in the first stage 2005. When thecommute application of some embodiments receives the selection of the UIitem 2052, the commute application transitions to displaying the pageshown in the first stage 2005.

The fifth stage 2025 illustrates the GUI 100 after the user selected theUI item 2052 to view the schedule view for the saved route. The GUI 100of the fifth stage 2025 shows the user selecting a different trip in theschedule view table. The user in this example is selecting the differenttrip by using a finger to tap on the trip in the schedule view tablethat is displayed on the touchscreen in order to view the schedule forthe trip. Upon receiving selection of the trip in the schedule viewtable, the commute application of some embodiments transitions todisplaying a page that shows the stops along the saved route and theschedule for the selected trip.

Finally, the sixth stage 2030 shows the GUI 100 after the user selectedthe trip in the schedule view table in order to view the schedule for adifferent trip along the saved route. The GUI 100 illustrated in thesixth stage 2010 is similar to the GUI 100 illustrated in the secondstage 2010 except the dynamic focus table shown in the sixth stage 2030is displaying the schedule for the trip selected in the fifth stage2025.

C. Map View

FIG. 21 conceptually illustrates the commute application of someembodiments providing a map view for a saved route. In particular, FIG.21 illustrates the GUI 100 of the commute application at two stages 2105and 2110 of providing a map view for a first saved route (e.g., Trip 1along Route A) and at two stages 2115 and 2120 of providing a map viewfor a second saved route (e.g., Trip 1 along Route B).

The first stage 2105 is similar to the fourth stage 1720 described aboveby reference to FIG. 17 except the first stage 2105 of FIG. 21 shows auser selecting the UI item 1745 to switch from displaying the scheduleview for the saved route to displaying a map view for the saved route.In this example, the user is selecting the UI item 1745 by using afinger to tap the UI item 1745 displayed on the touchscreen in order todisplay the map view for the saved route. When the commute applicationof some embodiments receives the selection of the UI item 1745, thecommute application transitions to displaying a page that shows a mapillustrating the stops in the saved route in the map and a schedule fora trip along the saved route.

The second stage 2110 shows the GUI 100 after the user selected the UIitem 1745 in order to view the map view for the saved route. As shown inthe second stage 2110, the map view for the saved route includes a mapfor displaying the saved route along with a schedule banner 2125 and theadjustable header 1735 that are displayed over the map. As shown, themap is displaying the stops in the saved route, which are represented byflags that have icons representing the route from which the saved routewas created on the flags, the current location in the map of a transitvehicle, represented by a dot 2140 encompassed by a circle, used fortraveling along the scheduled trip shown in the schedule banner 2125,and the current location of the device on which the commute applicationis operating. The current location of the device is represented by acircle 2145 with a white border.

The schedule banner 2125 in the second stage 2110 is displaying aschedule for a trip that is scheduled to run next along the saved routeand selectable UI items 2130 and 2135. The UI item 2130 is fordisplaying in the schedule banner 2125 a schedule for a trip that isscheduled to run before the schedule for the currently displayed tripand the UI item 2135 is for displaying in the schedule banner 2125 aschedule for a trip that is scheduled to run after the schedule for thecurrently displayed trip.

The third stage 2115 is similar to the fourth stage 1720 described aboveby reference to FIG. 17 except the third stage 2115 of FIG. 21 shows theschedule view for the saved route illustrated in the row 1730. Similarlyto the first stage 2005, the third stage 2115 of the GUI 100 illustratesthe user selecting the UI item 1745 to switch from displaying theschedule view for the saved route to displaying a map view for the savedroute. The user for this example is selecting the UI item 1745 by usinga finger to tap the UI item 1745 displayed on the touchscreen in orderto display the map view for the saved route. When the commuteapplication of some embodiments receives the selection of the UI item1745, the commute application transitions to displaying a page thatshows a map illustrating the stops in the saved route in the map and aschedule for a trip along the saved route.

The fourth stage 2120 shows the GUI 100 after the user selected the UIitem 1745 in the third stage 2115 to view the map view for the savedroute. The fourth stage 2120 shows the map view for the saved route thatincludes a map for displaying the saved route along with the schedulebanner 2125 and the adjustable header 1735 that are displayed over themap. The map in the fourth stage 2120 is displaying the stops in thesaved route, which are represented by flags that have icons representingthe route from which the saved route was created on the flags, thecurrent location in the map of a transit vehicle (represented by the dot2140) used for traveling along the scheduled trip shown in the schedulebanner 2125, and the current location of the device, which isrepresented by the circle 2145. The schedule banner 2125 in the fourthstage 2120 is displaying a schedule for a trip that is scheduled to runnext along the saved route and selectable UI items 2130 and 2135, whichare for displaying a schedule for a trip that is scheduled to run beforethe schedule for the currently displayed trip in the schedule banner2125 and displaying a schedule for a trip that is scheduled to run afterthe schedule for the currently displayed trip in the schedule banner2125, respectively.

In some embodiments, the commute application receives the currentlocation of the transit vehicle automatically from the transit systemoperator or third party vendors periodically in order to display thelocation 2140 on the map. Also, in some embodiments the icons thatrepresent the routes (e.g., flags “F” and “B” in the illustratedexample) are graphical representations that the commute application usesto present the transit data (e.g., routes, trips, stops, etc.) in aparticular locality (e.g., city, state, etc.), in the same manner thatthe operator of the transit system presents those transit data in thatparticular locality.

FIG. 22 conceptually illustrates the commute application of someembodiments displaying trips in a map view for a saved route.Specifically, FIG. 22 illustrates the GUI 100 of the commute applicationat four different stages 2205-2220 of displaying different trips in amap view for a saved route.

The first stage 2205 is similar to the fourth stage 2120 described aboveby reference to FIG. 21 except the first stage 2205 of FIG. 22additionally illustrates manually changing the trip displayed in the mapview. Specifically, the first stage 2205 shows a user selecting the UIitem 2135 to display in the schedule banner 2125 a schedule for a tripthat is scheduled to run after the schedule for the currently displayedtrip. For this example, the user is selecting the UI item 2135 by usinga finger to tap the UI item 2135 displayed on the touchscreen in orderto display the map view for the saved route. When the commuteapplication of some embodiments receives the selection of the UI item2135, the commute application displays in the schedule banner 2125 thenext schedule for a trip that is scheduled to run after the schedule forthe currently displayed trip.

The second stage 2210 shows the GUI 100 after the user selected the UIitem 2135 in order to display the next scheduled trip in the schedulebanner 2125, which includes different stops along the trip for thisexample. As shown, the schedule banner 2225 in the second stage 2210 isdisplaying a schedule for a trip that is scheduled to run after theschedule for the trip displayed in the first stage 2205. Also, the mapis displaying different stops as well as a different number of tripscompared to the stops for the scheduled trip illustrated in the firststage 2205.

The third stage 2215 illustrates the GUI 100 after an amount of time haspassed on the current time of the device with respect to the currenttime of the device illustrated in the second stage 2210. As shown, thecurrent time on the device illustrated in the third stage 2215 is twentyminutes later than the current time of the device illustrated in thesecond stage 2210. Accordingly, the countdown times displayed in thethird stage 2215 have been updated based on the current time of thedevice and the current location of the transit vehicle, used fortraveling along the scheduled trip shown in the schedule banner 2125,has also been updated in the map.

In some embodiments, when the commute application detects that thatcurrent time of the device passes the arrival time of the first stop ofthe trip displayed in the map view, the commute applicationautomatically transitions to displaying the next trip scheduled to run.The fourth stage 2220 of FIG. 22 illustrates an example of such anautomatic change of the trip displayed in the map view. In the fourthstage 2220, the current time of the device has passed the arrival timeof the first stop of the trip shown in the third stage 2215. When thecommute application detects that the current time of the device haspassed the arrival time of the first stop of the trip shown in the thirdstage 2215, the commute application of some embodiments automaticallychanges the trip displayed in the map view to the next scheduled tripwith the first stop's arrival that the current time of the device hasnot passed. As shown in the fourth stage 2220, the map view of the savedroute is displaying a scheduled trip with the first stop's arrival timethat the current time of the device has not passed.

FIG. 23 conceptually illustrates the commute application of someembodiments displaying trips in a map view for a saved route.Specifically, FIG. 23 illustrates the GUI 100 of the commute applicationat four different stages 2305-2320 of displaying different trips in amap view for a saved route.

The first stage 2305 is similar to the first stage 2205 described aboveby reference to FIG. 22 except the first stage 2305 of FIG. 23 does notshow a user selecting the UI item 2135. The second stage 2310 shows theGUI 100 after an amount of time has passed on the current time of thedevice with respect to the current time of the device illustrated in thefirst stage 2305. As shown, the current time on the device illustratedin the second stage 2310 is six minutes later than the current time onthe device illustrated in the first stage 2305. Since the current timeof the device has not passed the arrival time of the first stop of thetrip shown in the first stage 2315, the trip shown in the first stage2315 is still displayed in the schedule banner 2125. In addition, thecountdown times displayed in the first stage 2305 have been updatedbased on the current time of the device and the current location of thetransit vehicle used for traveling along the scheduled trip shown in theschedule banner 2125 has also been updated in the map.

In some embodiments, when the commute application detects that currenttime of the device passes the arrival time of the first stop of the tripdisplayed in the map view, the commute application transitions todisplaying the next trip scheduled to run in the schedule banner 2125but does not update the map or the countdown times with the tripdisplayed in the schedule banner 2125. The commute application of someembodiments only updates the map and countdown times in the map viewwith the next scheduled trip when the commute application initiallyenters the map view. This way, the commute application prevents anylarge context changes in the map that would potentially confuse the userif the user was not looking at the map when the map is updated. In someembodiments, the commute application still updates the map and thecountdown times for the saved route that is displayed in the map view.

The third stage 2315 shows the GUI 100 after an amount of time haspassed on the current time of the device with respect to the currenttime of the device illustrated in the second stage 2310. As shown, thecurrent time on the device illustrated in the third stage 2315 isnineteen minutes later than the current time on the device illustratedin the second stage 2310. As the current time of the device has passedthe arrival time of the first stop of the trip shown in the second stage2310, the schedule banner 2125 in the third stage 2315 has been updatedwith the next scheduled trip with the first stop's arrival that thecurrent time of the device has not passed. In some embodiments, thecommute application does not update the schedule banner 2125 andcontinues to display the trip in the schedule banner 2125 shown in thefirst and second stages 2305 and 2310.

Additionally, the commute application in this example does not updatethe map view with the countdown times of the next scheduled tripdisplayed in the schedule banner 2125. Instead, the commute applicationcontinues to display the countdown times for the trip displayed in themap view shown in the first and second stages 2305 and 2210 and updatesthe countdown times for that trip. Also, the commute application doesnot update the map to display the scheduled trip displayed in theschedule banner 2125. The commute application similarly updates the mapfor the trip displayed in the map in the first and second stages 2305and 2210.

The third stage 2315 of the GUI 100 also illustrates the user selectingthe UI item 1755 to return to the page of the GUI 100 displaying thesaved routes stored on the device (e.g., the page illustrated in thefirst, second, and third stages 1705-1715 of FIG. 17). In this example,the user is selecting the UI item 1755 by using a finger to tap the UIitem 1755 displayed on the touchscreen in order to displaying the savedroutes stored on the device. When the commute application of someembodiments receives the selection of the UI item 1755, the commuteapplication transitions to displaying a page that displays the savedroutes stored on the device.

The fourth stage 2320 shows the GUI 100 after the user selected the UIitem 1755 in order to view a page that displays the saved routes storedon the device. As shown in the fourth stage 2320, information regardingthe saved routes stores on the device is displayed. In this example, thesaved route illustrated in the stages 2305-2315 is the only saved routestored on the device. The fourth stage 2320 also shows the userselecting the saved route to view the map view for the saved route. Theuser in this example is selecting the saved route by using a finger totap the saved route displayed on the touchscreen in order to display themap view for the saved route. When the commute application of someembodiments receives the selection the saved route, the commuteapplication transitions to displaying the map view for the saved route.

The fifth stage 2325 shows the GUI 100 after the user selected the savedroute to view the map view for the saved route. As explained above, insome embodiments, the commute application only updates the map andcountdown times in the map view with the next scheduled trip when thecommute application initially enters the map view. In this example, thecommute application is entering the map view for the saved route. Assuch, the map view in the fifth stage 2325 displays the countdown timesof the next scheduled trip (i.e., the trip displayed in the schedulebanner 2125 in the third stage 2315) and displays the next scheduledtrip in the map.

FIG. 24 conceptually illustrates the commute application of someembodiments displaying details of a trip in a map view for a savedroute. In particular, FIG. 24 illustrates the GUI 100 of the commuteapplication at four different stages 2405-2420 of displaying details ofstops in a trip along a saved route.

The first stage 2405 is similar to the first stage 2305 described aboveby reference to FIG. 23 except the first stage 2405 of FIG. 24illustrates the map in the map view displaying additional informationregarding the trip along the saved route. As shown, the map in the firststage 2405 is displaying a banner above each of the flags that representthe stops in the trip along the saved route. Each banner indicates thearrival time of a transit vehicle used for the trip along the savedroute.

Additionally, the first stage 2405 of the GUI 100 illustrates a usermoving the header 1735 in a map view for the saved route. As shown, theuser in this example moves the header 1735 by using a finger to touchthe header 1735 displayed on the touchscreen and dragging the fingeralong the touchscreen in an upwards direction relative to the GUI 100 todirectly manipulate the header 1735 out of view. The second stage 2410shows the GUI 100 after the user moved the header 1735 out of view. Asshown, moving the header 1735 out of view allows a larger portion of themap to be displayed.

The third stage 2415 illustrates the GUI 100 after an amount of time haspassed on the current time of the device with respect to the currenttime of the device illustrated in the second stage 2410. As shown, thecurrent time on the device illustrated in the third stage 2415 is twelveminutes later than the current time on the device illustrated in thesecond stage 2410. In addition, the third stage 2415 shows that thecurrent location of the transit vehicle is closer to the first stop inthe trip.

As mentioned above, when the commute application of some embodimentsdetects that the current time of the device passes the arrival time ofthe first stop of the trip displayed in the map view, the commuteapplication automatically transitions to displaying the next tripscheduled to run. The fourth stage 2420 of FIG. 24 illustrates anotherexample of such an automatic change of the trip displayed in the mapview. The fourth stage 2420 shows that the current time of the devicehas passed the arrival time of the first stop of the trip shown in thethird stage 2415. When the commute application detects that the currenttime of the device has passed the arrival time of the first stop of thetrip shown in the third stage 2415, the commute application of someembodiments automatically changes the trip displayed in the map to thenext scheduled trip with the first stop's arrival time that the currenttime of the device has not passed. As shown in the fourth stage 2420,the map is displaying a scheduled trip with the first stop's arrivaltime that the current time of the device has not passed.

FIG. 25 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop. Specifically, FIG. 25illustrates the GUI 100 of the commute application at six differentstages 2505-2530 of displaying different trips along different routesthat stop at a particular stop.

The first stage 2505 is similar to the first stage 2305 described aboveby reference to FIG. 23 except the first stage 2505 of FIG. 25illustrates the map in the map view displaying additional informationregarding a stop in the trip along the saved route. As shown, the map inthe first stage 2505 is displaying a banner above the Foothill 1 stopthat shows the name of the stop and the arrival time of a transitvehicle used for the trip along the saved route. The banner alsoincludes a selectable UI item 2535 for displaying different trips alongdifferent routes that stop at the Foothill 1 stop. In some embodiments,the banner is displayed when the user selects in the map the flag thatrepresents the Foothill 1 stop (e.g., by tapping on the flag thatrepresents the Foothill 1 stop in the map). In addition, the first stage2505 of the GUI 100 illustrates a user selecting the UI item 2535 byusing a finger to tap on the UI item 2535 displayed on the touchscreenin order to view different trips along different routes that stop at theFoothill 1 stop.

The second stage 2510 shows the GUI 100 after the user selected the UIitem 2535. As shown, the GUI 100 in this example is displaying a list oftrips along different routes that stop at the Foothill 1 stop. In thisexample, the times displayed for each trip is the time at which the tripstops at the Foothill 1 stop. Also, the T0771 trip displayed in the listis grayed out because the current time of the device is past thescheduled arrival time at the Foothill 1 stop in the T0771 trip. Thesecond stage 2510 also shows the user selecting a trip R0411 thattravels along the Federal route by using a finger to tap on the tripR0411 displayed on the touchscreen to view the schedule for the R0411trip.

The third stage 2515 illustrates the GUI 100 after the user selected theR0411 trip. As illustrated, the GUI 100 is displaying the dynamic focustable that includes the schedule of the stops in the R0411 trip, whichincludes the Foothill 1 stop, along the Federal route. The third stage2515 also shows the user performing a scroll operation on the dynamicfocus table in order to view the schedule for a different trip listed inthe second stage 2510. As shown in this example, the user is performingthe scroll operation by using a finger to touch a location in thedynamic focus table displayed on the touchscreen and dragging the fingeralong the touchscreen in a rightwards direction relative to the GUI 100in order to view the schedule for a trip along a route that is scheduledto stop at the Foothill 1 stop before the R0411 trip is scheduled tostop at the Foothill 1 stop.

The fourth stage 2520 illustrates the GUI 100 after the user performedthe scrolling operation on the dynamic focus table. In the fourth stage2520, the dynamic focus table is displaying the schedule for the R0311trip along the Federal route, which is the trip that is scheduled tostop at the Foothill 1 stop before the R0411 trip is scheduled to stopat the Foothill 1 stop. In addition, the Lincoln stop in the R0311 tripis grayed out because the current time of the device is past thescheduled arrival time at the Lincoln stop in the R0311 trip.

The fourth stage 2520 also shows the user selecting a selectable UI item2540 for transitioning back to the page of the GUI 100 illustrated inthe second stager 2510. For this example, the user selects the UI item2540 by using a finger to tap on the UI item 2540 displayed on thetouchscreen in order to view different trips along different routes thatstop at the Foothill 1 stop.

The fifth stage 2525 illustrates the GUI 100 after the user selected theUI item 2540. As shown, the fifth stage 2525 is similar to the secondstage 2510 except in the fifth stage 2525 the user is selecting theW0671 trip along the Rodeo route by using a finger to tap on the W0671trip displayed on the touchscreen to view the schedule for the W0671trip.

Finally, the sixth stage 2530 shows the GUI 100 after the user selectedthe W0671 trip. The GUI 100 in the sixth stage 2530 is similar to theGUI 100 illustrated in the third stage 2515 except that here the dynamicfocus table is displaying the schedule of the stops in the W0671 trip,which includes the Foothill 1 stop, along the Rodeo route.

FIG. 25 illustrates a feature of the map view of some embodiments thatallows a user to select a particular stop and view different trips alongdifferent routes that stop at the particular stop. In other words, thefeature allows the user to pivot through different trips along differentroutes that stop at the particular stop. In addition, FIG. 25illustrates a user using the dynamic focus table to pivot through theschedules of different trips along different routes that stop at aparticular stop. In some embodiments, the commute application does notallow a user to pivot through the schedules of different trips alongdifferent routes that stop at a particular stop. Rather, when the useris at the stage of the GUI 100 shown in the third and sixth stages 2515and 2530, the commute application allows the user to scroll through theschedules for different trips along the route for which the schedule ofthe trip is currently displayed. For instance, in some such embodiments,the commute application allows the user in the third stage 2515 toscroll through the schedules for different trips along the Federalroute.

FIG. 26 conceptually illustrates an example of identifying data for thedynamic focus table of some embodiments for pivoting through trips alongdifferent routes that stop at a particular stop based on the dataillustrated in FIG. 8.

In some embodiments, when the commute application receives a selectionof a stop through which to pivot trips along routes that stop at theselected stop (e.g., the examples described above and below by referenceto FIGS. 25 and 28), the commute application accesses the route storage805 to identify routes that include the selected stop and accesses theschedule storage 810 to identify the schedules for trips along theidentified routes that stop at the selected stop.

FIG. 26 shows the routes in the route storage 805 that the commuteapplication has identified as including the selected stop, Stop X. Asshown, for this example, Route 1 and Route 2 include Stop X and Route 3does not include Stop X. In addition, FIG. 26 illustrates schedules fortrips in the schedule storage 810 that the commute application hasidentified as stopping at Stop X. As illustrated, while a route mayinclude a particular stop, a trip along the route may or may not stop atthe particular stop. FIG. 26 shows that the following schedules stop atStop X: Schedule A for Route 1, Schedule B for Route 2, Schedule C forRoute 2, and Schedule C for Route 1.

Once the commute application of some embodiments identifies theschedules for trips that stop at the selected stop, the commuteapplication generates and/or populates the panel 820 of the dynamicfocus table with the identified schedules, as illustrated in FIG. 26.The commute application also populates and/or generates the panel 815with the metadata of the route that is used for the schedule of the tripin the panel 820 which is being displayed through the right side of thepanel 815. In this example, the Schedule A for a trip along Route 1 inthe panel 820 is displayed through the right side of the panel 815 and,thus, the metadata for Route 1 is displayed on the left side of thepanel 815.

FIG. 27 conceptually illustrates an example of identifying data for thedynamic focus table of some embodiments for pivoting through trips alongdifferent routes that stop at a particular stop based on the dataillustrated in FIG. 8. In particular, FIG. 27 continues with the exampledescribed above by reference to FIG. 26. FIG. 27 illustrates a userinput module 2700 of the commute application of some embodiments thatmodifies the dynamic focus table based on received user input. In someembodiments, when the user input module 2700 receives input formodifying the dynamic focus table, the user input module 2700 (1)modifies the panel 820 so that the appropriate schedule is displayedthrough the right side of the panel 815 and (2) updates the metadatathat is displayed on the left side of the panel 815. In this example,the panel 820 of the dynamic focus table has moved to the right todisplay Schedule B for a trip along Route 2 in response to input toscroll the dynamic focus table (e.g., the input described above byreference to FIG. 25). As such, the commute application in this exampledisplays in the panel 815 the metadata for Route 2 and displays it onthe left side of the panel 815.

FIG. 28 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop. Specifically, FIG. 28illustrates the GUI 100 of the commute application at six differentstages 2805-2830 of displaying different trips along different routesthat stop at a particular stop.

The first and second stages 2805 and 2810 are the same as the first andsecond stages 2505 and 2510 described above by reference to FIG. 25. Thethird stage 2815 is similar to the third stage 2515 described above byreference to FIG. 25 but the third stage 2815 of FIG. 28 illustrates theuser performing a scroll operation on the dynamic focus table in orderto view the schedule for a different trip listed in the second stage2810. The user in this example is performing the scroll operation byusing a finger to touch a location in the dynamic focus table displayedon the touchscreen and dragging the finger along the touchscreen in aleftwards direction relative to the GUI 100 in order to view theschedule for a trip along a route that is scheduled to stop at theFoothill 1 stop after the R0411 trip is scheduled to stop at theFoothill 1 stop.

The fourth stage 2820 illustrates the GUI 100 after the user performedthe scrolling operation on the dynamic focus table. The fourth stage2820 shows the dynamic focus table displaying the schedule for the WA001trip along a route (the Emerson route in this example) that is differentthan the route illustrated in the third stage 2815. As shown, the WA001trip is scheduled to stop at the Foothill 1 stop after the R0411 trip isscheduled to stop at the Foothill 1 stop.

The fifth stage 2825 shows the user performing a scroll operation on thedynamic focus table in order to view the schedule for a different triplisted in the second stage 2810. For this example, the user isperforming the scroll operation by using a finger to touch a location inthe dynamic focus table displayed on the touchscreen and dragging thefinger along the touchscreen in a leftwards direction relative to theGUI 100 in order to view the schedule for a trip along a route that isscheduled to stop at the Foothill 1 stop after the WA001 trip isscheduled to stop at the Foothill 1 stop.

The sixth stage 2830 illustrates the GUI 100 after the user performedthe scrolling operation on the dynamic focus table in the fifth stage2825. In the sixth stage 2830, the dynamic focus table is displaying theschedule for the R0501 trip along the Federal route, which is the tripthat is scheduled to stop at the Foothill 1 stop after the WA001 trip isscheduled to stop at the Foothill 1 stop.

FIG. 29 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop at a particular stop. In particular, FIG. 29illustrates the GUI 100 of the commute application at five differentstages 2905-2925 of displaying different trips along different routesthat stop at a particular stop.

The first stage 2905 is similar to the first stage 2205 described aboveby reference to FIG. 22 except the first stage 2905 of FIG. 29 does notinclude the schedule banner 2125, the header 1735 has been moved out ofview, and the map does not show the current location of the transitvehicle used for traveling along the trip displayed in the map view. Thefirst stage 2905 also illustrates a user selecting a flag in the mapthat represents a stop in a trip along a saved route. For this example,the user is selecting the flag by using a finger to tap on the flagdisplayed on the touchscreen in order to view different trips alongdifferent routes that stop at stop represented by the selected flag.

The second stage 2910 shows the GUI 100 after the user selected the flagin the map. As shown, the map in this example is displaying a bannerabove the selected flag that shows the arrival time at the Foothill 1stop for a trip that is scheduled next to stop at the Foothill 1 stop.The second stage 2910 also shows an adjustable slider control 2930displayed in the map. The adjustable slider control 2930 includes aslider 2935, a sliding region 2940 along which the slider moves, and abanner that displays the time value indicated by the position of theslider 2935 in the sliding region 2940. The positions along the slidingregion 2940, from left to right, represent increasing time values in adefined range of time (e.g., 6 AM-8 PM). For this example, the commuteapplication displays a trip that is scheduled next to stop at theFoothill 1 stop and moved the slider 2935 along the sliding region 2940to the time value of the arrival time at the Foothill 1 stop for thetrip, which is 6:15 AM.

The third stage 2915 illustrates the user starting to move the slider2935 along the sliding region 2940 by using a finger to touch the slider2935 displayed on the touchscreen and dragging the finger along thetouchscreen in a rightwards direction relative to the GUI 100. In someembodiments, the commute application displays in the map the next tripthat is scheduled to stop at the Foothill 1 at the time indicated by theslider 2935 in the sliding region 2940.

The fourth stage 2920 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to a different time value. Asshown, the map in the fourth stage 2920 shows the stops for a differenttrip along a different route (the Rodeo route in this example) that isscheduled to stop at the Foothill 1 stop at 6:33 AM. The fourth stage2920 also illustrates the user continuing to move the slider 2935 alongthe sliding region 2940 by continuing to drag the finger along thetouchscreen in a rightwards direction relative to the GUI 100.

The fifth stage 2925 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.In the fifth stage 2925, the map is displaying the stops for anotherdifferent trip along another different route (the 16th Avenue route inthis example) that is scheduled to stop at the Foothill 1 stop at 7:11AM. The different time values displayed by the commute application ofsome embodiments are predefined scheduled times that different transitvehicles of different routes are scheduled to stop at the selected stopon the map. In other words, in some such embodiments, the time values ofthe slider control do not change incrementally. Rather, the application,as the slider moves along the sliding region, displays the next orprevious (depending on the direction of the movement) scheduled stop ofa trip that includes the selected stop.

In some other embodiments, the time values for the slider controlchanges incrementally as the slider moves along the sliding region. Insome such embodiments, the trip with the closest scheduled stop to thevalue of the slider that includes the selected stop will be displayed onthe map. Still, in some other embodiments, the time values of the slidercontrol change irrespective of the schedule of the trips when the slidermoves along the sliding region. In some such embodiments, as the timevalue changes, if there is a trip that has the slider's time valuescheduled for the selected stop, that trip will be displayed by thecommute application. On the other hand, if there is no trip scheduled tostop at the selected stop at the slider's time value, no trip will bedisplayed on the map for that particular time.

FIG. 30 conceptually illustrates the commute application of someembodiments that provides a filtering feature for viewing differenttrips along different routes that stop at a particular stop. Inparticular, FIG. 30 illustrates the GUI 100 of the commute applicationat six different stages 3005-3030 of displaying different trips alongdifferent routes that stop at a particular stop.

The first stage 3005 is similar to the first stage 2905 described aboveby reference to FIG. 29 except the first stage 3005 of FIG. 30 includesthe slider control 2930 and a selectable UI item 3035 for activating afiltering feature for the map view. In addition, the first stage 3005shows a user is selecting the UI item 3035 by using a finger to tap onthe UI item 3035 displayed on the touchscreen to activate the filteringfeature for the map view.

The second stage 3010 shows the GUI 100 after the user selected the UIitem 3035. As illustrated, the second stage 3010 illustrates a filteringcontrol 3040 that includes several selectable UI items 3045-3070 forselecting routes, a selectable UI item 3075 for setting a filter basedon the UI items 3045-3070 that are selected, and a selectable UI item3080 for canceling the filtering feature. In this example, the filter isfor filtering trips along routes that stop at the Foothill 1 stop thatis illustrated in the map of the second stage 2910 of FIG. 29. Thesecond stage 3010 shows that the user has selected the UI item 3055 tospecify the Federal route to be included in the filter. In addition, thesecond stage 3010 illustrates the user selecting the UI item 3065 tospecify the 16th Avenue route to be included in the filter by using afinger to tap on the UI item 3065 displayed on the touchscreen.

The third stage 3015 shows the GUI 100 after the user selected the UIitem 3065. In addition, the third stage 3015 illustrates the userselecting the UI item 3075 to set the filter, which includes the Federalroute and the 16th Avenue route. When the filter is set, the commuteapplication of some embodiments only displays trips along routes thatstop at the Foothill 1 stop and that are included in the filter (theFederal route and the 16th Avenue route in this example).

Next, the fourth stage 3020 shows the GUI 100 after the user selectedthe UI item 3075 to set the filter. As shown, the map in fourth stage3020 still shows the trip illustrated in the stages 3005-3015 since theFederal route is included in the filter and the trip stops at theFoothill 1 stop. The fourth stage 3020 also illustrates the userstarting to move the slider 2935 along the sliding region 2940 by usinga finger to touch the slider 2935 displayed on the touchscreen anddragging the finger along the touchscreen in a rightwards directionrelative to the GUI 100.

The fifth stage 3025 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to a different time value. Asillustrated, the map in the fifth stage 3025 does not show a tripbecause for this example no trip along a route is scheduled to stop atthe Foothill 1 stop at 6:33 AM. Additionally, the fifth stage 3025illustrates the user continuing to move the slider 2935 along thesliding region 2940 by continuing to drag the finger along thetouchscreen in a rightwards direction relative to the GUI 100.

The sixth stage 3030 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.The sixth stage 3030 illustrates the map displaying the stops for a tripalong the 16th Avenue route, which is included in the filter in thisexample, that is scheduled to stop at the Foothill 1 stop at 7:11 AM.

FIG. 31 conceptually illustrates the commute application of someembodiments that provides a feature for viewing in a map trips alongroutes that stop near the location of the device on which the commuteapplication is operating. In particular, FIG. 31 illustrates the GUI 100of the commute application at four different stages 3105-3120 ofdisplaying different trips along different routes that stop at a stopnear the location of the device.

The first stage 3105 is similar to the first stage 2905 described aboveby reference to FIG. 29 except the first stage 3105 of FIG. 31 includesa selectable UI item 3125 for displaying stops in the map that are nearthe location of the device. As shown, the map in the first stag 3105 isnot showing a trip. The first stage 3105 also shows a user is selectingthe UI item 3125 by using a finger to tap on the UI item 3125 displayedon the touchscreen to displaying stops in the map that are near thelocation of the device.

The second stage 3110 shows the GUI 100 after the user selected the UIitem 3125. As shown, the map in the second stage 3110 is displayingthree stops that the commute application determined are close to thecurrent location of the device, which is represented by a dot in themap. Additionally, the second stage 3110 illustrates the user startingto move the slider 2935 along the sliding region 2940 by using a fingerto touch the slider 2935 displayed on the touchscreen and dragging thefinger along the touchscreen in a rightwards direction relative to theGUI 100.

The third stage 3115 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to a different time value. Asshown, the map in the third stage 3115 is displaying the stops for atrip along a route that is next scheduled to stop at one of the stopsshown in the map in the second stage 3110 at or after 6:15 AM. The mapalso is displaying a banner over the stop that is close to the locationof the device and is included in the trip, indicating the arrival timeat that near stop. In addition, the third stage 3115 illustrates theuser continuing to move the slider 2935 along the sliding region 2940 bycontinuing to drag the finger along the touchscreen in a rightwardsdirection relative to the GUI 100.

The fourth stage 3120 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.As illustrated, the map in the third stage 3115 shows the stops for atrip along a route that is next scheduled to stop at another one of thestops shown in the map in the second stage 3110 at or after 9:25 AM. Inthe fourth stage 3120, the map is also displaying a banner over the stopthat is close to the location of the device and is included in the trip,indicating the arrival time at that near stop.

As described above, FIG. 30 illustrates a feature of the map view ofsome embodiments that allows a user to view different trips alongdifferent routes that stop at any stop that the commute applicationdetermines as being close to the location of the device. That is, thefeature allows the user to pivot through different trips along differentroutes that stop at one of the stops that are near the location of thedevice.

FIG. 32 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes of different transit systems that stop near thelocation of the device on which the commute application is operating.Specifically, FIG. 32 illustrates the GUI 100 of the commute applicationat five different stages 3205-3225 of displaying different trips alongdifferent routes of different transit systems that stop at a stop nearthe location of the device.

The first stage 3205 is similar to the first stage 3105 described aboveby reference to FIG. 31 except the map in the first stage 3205 of FIG.32 shows tracks for a railway transit system. For this example, the userin the first stage 3205 is selecting the UI item 3125 by using a fingerto tap on the UI item 3125 displayed on the touchscreen to display stopsin the map that are near the location of the device.

The second stage 3210 shows the GUI 100 after the user selected the UIitem 3125. As shown, the map in the second stage 3210 is displayingthree stops that the commute application determined are close to thecurrent location of the device which is represented by a dot in the map.For this example, the three near stops are part of three differenttransit systems, as indicated by different icons that represent thestops, that each operates using different modes of transit.Additionally, the second stage 3210 illustrates the user starting tomove the slider 2935 along the sliding region 2940 by using a finger totouch the slider 2935 displayed on the touchscreen and dragging thefinger along the touchscreen in a rightwards direction relative to theGUI 100.

The third stage 3215 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to a different time value. Asillustrated, the map in the third stage 3215 is displaying the stops fora trip along a route that is next scheduled to stop at one of the stopsshown in the map in the second stage 3210 at or after 6:15 AM. In thisexample, the trip is along a route that is part of a bus transit system.The map also is displaying a banner over the stop that is close to thelocation of the device and is included in the trip, indicating thearrival time at that near stop. In addition, the third stage 3215illustrates the user continuing to move the slider 2935 along thesliding region 2940 by continuing to drag the finger along thetouchscreen in a rightwards direction relative to the GUI 100.

The fourth stage 3220 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.As illustrated, the map in the fourth stage 3220 shows the stops for atrip along a route that is next scheduled to stop at another one of thestops shown in the map in the second stage 3210 at or after 7:05 AM. Thetrip in this example is along a route that is part of a subway transitsystem. In the fourth stage 3220, the map is also displaying a bannerover the stop that is close to the location of the device and isincluded in the trip, indicating the arrival time at that near stop.Additionally, the fourth stage 3220 illustrates the user continuing tomove the slider 2935 along the sliding region 2940 by continuing to dragthe finger along the touchscreen in a rightwards direction relative tothe GUI 100.

The fifth stage 3225 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.The map in the fifth stage 3225 is displaying the stops for a trip alonga route that is next scheduled to stop at yet another one of the stopsshown in the map in the second stage 3210 at or after 7:30 AM. For thisexample, the trip is along a route that is part of a railway transitsystem. In the fourth stage 3225, the map is also displaying a bannerover the stop that is close to the location of the device and isincluded in the trip, indicating the arrival time at that near stop.

The above-described FIG. 32 illustrates a feature of the map view ofsome embodiments that allows a user to view different trips alongdifferent routes that stop at any stop that the commute applicationdetermines is close to the location of the device. That is, the featureallows the user to pivot through different trips along different routesof different transit systems that stop at one of the stops that are nearthe location of the device.

The following FIGS. 33-35 will describe a feature of the map view ofsome embodiments that allows a user to view different trips alongdifferent routes that stop within a region in a map. In other words, thefeature allows the user to pivot through different trips along differentroutes that stop within the region in the map.

FIG. 33 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a predefined region. Specifically,FIG. 33 illustrates the GUI 100 of the commute application at fivedifferent stages 3305-3325 of displaying different trips along differentroutes that stop within a predefined region.

The first stage 3305 continues from the first stage 2905 described aboveby reference to FIG. 29. For this example, the commute applicationtransitions to the first stage 3305 when the commute applicationreceives the selection of the flag in the map that represents theFoothill 1 stop. While the commute application in this exampletransitions to the first stage 3305 in response to the selection of astop in the map, the commute application of some embodiments providesadditional and/or other methods to transition to the first stage 3305.For instance, in some embodiments, the commute application provides aselectable UI item in the display area 144 at the first stage 2905 thatwhen selected transitions to the first stage 3305.

As shown, the map in the first stage 3305 is displaying severalselectable predefined regions 3330-3340 indicated by dashed rectangles.Each of the predefined regions 3330-3340 is for viewing different tripsalong different routes that stop within the predefined the region. Theuser in this example is selecting the predefined region 3340 by using afinger to tap on the predefined region 3340 displayed on thetouchscreen.

The second stage 3310 illustrates the GUI 100 after the user selectedthe predefined region 3340. In response to the selection of thepredefined region 3340, the commute application displayed the adjustableslider control 2930, panned the map so that the predefined region 3340is at or near the center of the map, and bolded the predefined region3340. In addition, the commute application in this example identifiedtrips along routes that have stops that stop within the predefinedregion 3340. As shown in the second stage 3310, a trip that is scheduledto stop within the predefined region 3340 is displayed in the map andthe slider 2935 is moved along the sliding region 3340 to the time valueof the arrival time at the stop within the predefined region 3340.

The third stage 3315 illustrates the user starting to move the slider2935 along the sliding region 2940 by using a finger to touch the slider2935 displayed on the touchscreen and dragging the finger along thetouchscreen in a rightwards direction relative to the GUI 100. Thecommute application of some embodiments displays in the map any tripsthat are scheduled to stop within the predefined region 3340 at the timeindicated by the slider 2935 in the sliding region 2940.

The fourth stage 3320 shows the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to a different time value. Asshown, the map in the fourth stage 3320 shows two different trips alongtwo different routes (the Bundy route and the Campus route in thisexample). Each of the two trips includes a stop that is scheduled tostop within the predefined region 3340 at 6:45 AM. In addition, thefourth stage 3320 illustrates the user continuing to move the slider2935 along the sliding region 2940 by continuing to drag the fingeralong the touchscreen in a rightwards direction relative to the GUI 100.

The fifth stage 3325 illustrates the GUI 100 after the user adjusted theslider 2935 in the sliding region 2940 to another different time value.In the fifth stage 2925, the map is displaying the stops for anothertrip along another route (the 16th Avenue route in this example) that isscheduled to stop within the predefined region 3340 at 7:11 AM.

FIG. 34 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a user-specified region. Specifically,FIG. 34 illustrates the GUI 100 of the commute application at fivedifferent stages 3405-3425 of displaying different trips along differentroutes that stop within a user-specified region.

The first stage 3405 is similar to the first stage 3305 described aboveby reference to FIG. 33 except the first stage 3405 of FIG. 34illustrates a user specifying a region 3430 in the map by using a fingerto touch a location on the touchscreen of the top left corner of theregion 3430 and dragging the finger along the touchscreen in a down andright direction, as indicated by an arrow.

The second stage 3410 illustrates the GUI 100 after the user specified aregion in the map. When the commute application of some embodimentsreceives a specified region in the map, the commute applicationidentifies trips along routes that stop within the specified region fordisplay in the map view. For this example, the user-specified region3430 covers a similar area of the map as the region 3340 shown in FIG.33. As such, the second stage 3410 shows the same trip that is schedulednext to stop within the region 3430 as the trip illustrated in thesecond stage 3310 of FIG. 33 and the remaining stages 3415-3425 are thesame as the corresponding stages 3315-3325 described above by referenceto FIG. 33.

FIG. 35 conceptually illustrates the commute application of someembodiments that provides a feature for viewing different trips alongdifferent routes that stop within a predefined region based on auser-specified region. Specifically, FIG. 35 illustrates the GUI 100 ofthe commute application at five different stages 3505-3525 of displayingdifferent trips along different routes that stop within a predefinedregion based on a user-specified region.

The first stage 3505 is similar to the first stage 3305 described aboveby reference to FIG. 33 except the first stage 3505 of FIG. 35illustrates a user specifying a region 3530 in the map by using a fingerto touch a location on the touchscreen of the top left corner of theregion 3530 and dragging the finger along the touchscreen in a right anddown direction, as indicated by an arrow.

Upon receiving a specified region in the map, the commute application ofsome embodiments identifies a predefined region closest to the specifiedregion that touches and/or overlaps the specified region. If apredefined region does not touch nor overlap the specified region, insome embodiments, commute application identifies a predefined regionclosest to the specified region that is within a threshold distance ofthe specified region.

The second stage 3510 illustrates the GUI 100 after the user specified aregion in the map and the commute application used the predefined region3340 to identify trips along routes that have stops that stop within thepredefined region 3340 for display in the map of the map view. Thesecond stage 3510 shows the same trip that is scheduled next to stopwithin the predefined region 3340 as the trip illustrated in the secondstage 3310 of FIG. 33. The remaining stages 3515-3525 are the same asthe corresponding stages 3315-3325 described above by reference to FIG.33.

Many of the examples and embodiments illustrated above show in a map thecurrent location of the device on which the commute application isoperating. However, one of ordinary skill in the art will understandthat the commute application of some embodiments actually does notdisplay the current location of the device in the map and that thecurrent location of the device is displayed in the map for the purposesof simplicity and explanation in these examples and embodiments.

IV. Other Features

As explained above, in some embodiments the commute application providesseveral different features. The following section will describe details,examples, and embodiments of various other features provided by thecommute application of some embodiments.

FIG. 36 conceptually illustrates providing a notification for thecommute application of some embodiments when a device 3600 is in a powersaving mode. Specifically, FIG. 36 illustrates the commute applicationat three different stages 3605-3615 of providing a notification when thedevice 3600 on which the commute application is operating is in powersaving mode.

The GUI 100 in the first stage 3605 is similar to the GUI 100 in thefirst stage 2005 described above by reference to FIG. 20 except thefirst stage 3605 of FIG. 36 does not show a user selecting a trip in thescheduled view table. Rather, the user in the first stage 3605 isselecting a power switch 3620 of the device 3600 by using a finger todepress the power switch 3620 in order to switch the device 3600 to apower saving mode.

The second stage 3610 shows the device 3600 after the user depressed thepower switch 3620. As indicated, the second stage 3610 illustrates thatthe device 3600 is in a power saving mode. As such, the device 3600'sdisplay is turned off. In some embodiments, while the device 3600 is inpower saving mode, the device 3600's notification services providesnotifications through a lock screen of the device 3600. When the commuteapplication of some such embodiments receives a notification for theAdvisories feature, the commute application sends the notification tothe notification services of the device 3600, which in turn displays thenotification through the lock screen of the device 3600.

The third stage 3615 illustrates the device 3600 displaying anotification through the device 3600's lock screen. As shown, thenotification is for the commute application and indicates that a routeis running late. In some embodiments the device displays a notificationby the commute application only when the advisory notification servicesis enabled on the device. Although in the illustrated example anotification in relation with a route running late is displayed, one ofordinary skill in the art would realize that the device can display anyother advisory notification (e.g., a route is temporarily closed,transit vehicle involved in an accident, etc.) when this service isenabled. In some embodiments, the commute application receives advisorynotifications from a set of servers when the set of servers are notifiedof the occurrence of certain events (e.g., a transit vehicle involvingin an accident, etc.).

FIG. 37 conceptually illustrates enabling notifications for the commuteapplication of some embodiments on a device. In particular, FIG. 37illustrates a GUI 3700 of the device on which the commute application isoperating at five different stages 3705-3725 of enabling notificationfor the commute application on the device.

The first stage 3705 illustrates the GUI 3700 of the device, whichincludes several selectable UI items for applications in the dock area3730 and on a page 3775 of the GUI 3700. One of the selectable UI itemsdisplayed on the page at the first stage 3705 is a selectable UI item3735 for invoking the settings application. As illustrated, a user isselecting the UI item 3735 by using a finger to tap the UI item 3735displayed on the touchscreen in order to open the settings application.

The second stage 3710 shows the GUI 3700 of the device after thesettings application has opened. As shown, the page of the settingsapplication includes a selectable UI item 3740 for displaying anotifications page of the settings application. The second stage 3710also illustrates the user selecting the UI item 3740 by using a fingerto tap the UI item 3740 displayed on the touchscreen to display thenotifications page of the settings application

The third stage 3715 shows the GUI 3700 of the device displaying thenotifications page of the settings application after the user selectedthe UI item 3740. As shown, the notifications page includes a selectableUI item 3745 for displaying a notifications page of the settingsapplication for the commute application. Additionally, the third stage3715 shows the user selecting the UI item 3745 by using a finger to tapthe UI item 3745 displayed on the touchscreen to display thenotifications page of the settings application for the commuteapplication.

The fourth stage 3720 shows the GUI 3700 of the device displaying thenotifications page of the settings application for the commuteapplication after the user selected the UI item 3745. The notificationspage for the commute application illustrated in the fourth stage 3720includes a selectable UI item 3745 for enabling and disabling thecommute application's notifications for the device's notificationservices. When the commute application's notifications are enabled forthe device's notification services, the commute application sendsnotifications that the commute application receives and/or generates tothe device's notification services for display on the device through thedevice's notification services. In addition, the fourth stage 3720 showsthe user selecting the UI item 3750 by using a finger to tap the UI item3750 displayed on the touchscreen to enable the commute application'snotifications for the device's notification services. The fifth stage3725 illustrates the GUI 3700 of the device showing that the commuteapplication's notifications are enabled for the device's notificationservices after the user selected the UI item 3750. As described above,enabling the commute application's notification services causes thedevice to display the advisory notifications upon occurrence of certainevents.

The commute application of some embodiments displays different graphicalrepresentations of transit systems, routes, stops and/or schedules fordifferent localities. The elements of graphical representation (e.g.,fonts, icons, symbols, colors, shapes, etc.) in each particular localityare defined differently based on the graphical representations of thetransit data (e.g., the route data, stop data, schedule data, etc.) thatthe transit system operator or operators use in that locality. Thisapproach allows the commute application to customize the views (e.g.,map views, list views, etc.) displayed in the commute application tomatch the graphical representation of the transit data in differentlocalities, which, in turn, causes the application to appear morerealistic to the user of the application.

FIG. 38 conceptually illustrates the commute application of someembodiments downloading different route data based on differentlocalities in which a device operates. In particular, FIG. 38illustrates six different stages 3805-3830 that show the commuteapplication displaying different graphical representations (e.g.,symbols, etc.) for different routes when the device is used in differentlocalities (e.g., cities). The stages 3805-3815 show the commuteapplication downloading route data for a first locality while the stages3820-3830 show the commute application downloading route data for asecond, different locality.

The first stage 3805 illustrates the GUI 3700 of the device. As shown inthe first stage 3805, a user is selecting the UI item 3735 by using afinger to tap the UI item 3735 displayed on the touchscreen in order toopen the commute application. In some embodiments, when the commuteapplication is opened, the commute application determines the localityin which the device is operating (e.g., via global positioning system(GPS) location data, Wi-Fi-based positioning system location data,cellular tower data, etc.) and downloads route data for the locality ifsuch data is not already stored on the device on which the commuteapplication is operating.

The second stage 3810 shows a GUI 3800 of the commute application afterthe commute application determined that route data for the location inwhich the device is operating is not stored on the device. As shown, theGUI 3800 is displaying a page indicating that data for local transitsystems, routes, and stops are being downloaded to the device. In someembodiments, the data for local routes and stops includes graphicalrepresentations (e.g., icons) for the different transit systems, routes,and/or stops along the different routes.

The third stage 3815 illustrates the commute application after thecommute application has finished downloading the data for the localroutes and stops of the locality in which the device is operating. Thethird stage 3815 shows a page displaying the different routes andgraphical representations (e.g., icons) of the routes for the localityin which the device is operating, which is Boston in this example. Asillustrated in this stage, the list view that displays the list ofdifferent routes of a transit system in Boston, has a particular symbolin a particular color (shade) for each route in the list.

For this example, the fourth stage 3820 illustrates the GUI 3700 of thedevice, which is operating at a locality different from the localityillustrated for stages 3805-3815. As shown, the user in the fourth stage3820 is selecting the UI item 3735 by using a finger to tap the UI item3735 displayed on the touchscreen in order to open the settingsapplication.

The fifth stage 3825 shows the GUI 3800 of the commute application afterthe commute application determined that route data for the location inwhich the device is operating is not stored on the device. Asillustrated, the GUI 3800 is displaying the same page shown in thesecond stage 3810 indicating that data for local routes and stops arebeing downloaded to the device.

The sixth stage 3830 illustrates the commute application after thecommute application has finished downloading the data for the localroutes and stops of the locality in which the device is operating. Thepage shown in sixth stage 3830 is displaying the different routes andgraphical representations (e.g., icons) of the routes for the localityin which the device is operating, which is New York in this example. Asillustrated in this stage, the graphical representations for displayingthe routes of a transit system (e.g. a bus line) in New York isdifferent than the graphical representation of the same or differenttransit system operating in Boston in stage 2. More specifically, forthe New York locality, each route in the list view at stage 3830 ispresented with a symbol that includes the first letter in the name ofthe route along with a background shape that follows the contour of thefirst letter. On the other hand, for the Boston locality, all the routesin the list view of stage 3815 are represented with a single shape(e.g., a circle) but in different colors (shades).

In some embodiments, the commute application shows different graphicalrepresentations of transit systems, routes, stops and/or schedules fordifferent localities. The elements of graphical representations (e.g.,fonts, icons, symbols, colors, shapes, etc.) in each particular localityin some embodiments are defined differently based on the graphicalrepresentations of the transit data (e.g., the route data, stop data,schedule data, etc.) presented by the transit system operator in thatlocality. For instance, in some embodiments, a set of servers receivesthe graphical representations of transit systems, routes, stops and/orschedules for each locality (e.g., each city) from one or more transitoperators (e.g., train operators, bus operators, etc.) of the localityand/or third parties that work with these transit operators. Theseservers, or servers that communicatively couple to these servers, thenprovide the received graphical representation to specify the route,stop, and/or schedule display for a particular locality to a device'scommute application when the device is operating in that particularlocality.

This approach allows the commute application to customize the display ofthe transit data (e.g., the route data, stop data, schedule data, etc.)in each locality to mirror the representations of this data in thatlocality. As stated above, in this manner, the commute application canuse different symbols to display transit data in New York than thesymbols it uses to display transit data in Boston, and in each of theselocalities, the application can use the symbols that are used by thetransit operators in those localities to represent the transit data. Thearchitecture for gathering different data for different localities willbe further described below by reference to FIGS. 40-43.

FIG. 39 conceptually illustrates the commute application of someembodiments that provides a schedule and route data update feature.Specifically, FIG. 39 illustrates the GUI 100 of the commute applicationof some embodiments at four different stages 3905-3920 that show thecommute application downloading updates for schedule and route data.

The first stage 3905 is the same as the first stage 505 described aboveby reference to FIG. 5. The second stage 3910 is similar to the secondstage 510 described above by reference to FIG. 5 except the second stage3910 of FIG. 39 does not show a user performing a scroll operation onthe dynamic focus table. In some embodiments, when a route is selectedto view schedules for the route, the commute application determineswhether the schedule and route data stored at the device on which thecommute application is operating need to be updated. The commuteapplication of some embodiments determines this by accessing a set ofservers and/or services that provides schedule and route data and thencomparing the schedule and route data stored at the device with theschedule and route data provided by the servers and/or services. Whenthe commute application determines that the schedule and route datastored at the device is not the same as the schedule and route dataprovided by the servers and/or services, the commute applicationdownloads the schedule and route data from the servers and/or servicesand uses this data to update the schedule and route data stored at thedevice.

The third stage 3915 shows the GUI 100 of the commute application afterthe commute application determined that the commute application needs toupdate the schedule and route data stored at the device. As shown, theGUI 100 is displaying a page, which includes a selectable UI item 3925for exiting the page, indicating that the commute application hasupdated the schedules and routes. In addition, the third stage 3915illustrates the user selecting the UI item 3925 by using a finger to tapthe UI item 3925 displayed on the touchscreen in order to exit the page.Although in the illustrated example, the GUI 100 displays a separatepage for notifying the user that the commute application has updated theschedules and routes, the commute application's information in otherembodiments is updated periodically without notifying the user.

The fourth stage 3920 illustrates the GUI 100 after the user selectedthe UI item 3925 to exit the page shown in the third stage 3915. Thecommute application of some embodiments returns to the page of the GUI100 that was displayed prior to updating the schedule and route data. Asshown, the commute application returned to the GUI 100 illustrated inthe second stage 3910.

While FIG. 39 illustrates an example of the commute application checkingfor a schedule and route data update when a route is selected to viewthe route's schedule, the commute application of some embodiments checksfor a schedule and route data update at additional and/or differenttimes. For example, in some embodiments, the commute application checksfor a schedule and route data update when the commute application isopened.

V. Server-Side Features

As explained above, the commute application of some embodiments providesusers information about different routes as well as information aboutschedules for the different routes. To provide such information, thecommute application of some embodiments needs to access a set of serversand/or services that provides the schedule and route data as well asdefinitions of different graphical representations in which the scheduleand route data of a particular locality are presented. As noted above,the schedule and route data of some embodiments are presented usingdifferent graphical representations (e.g., icons, symbols, colors, etc.)for the different routes and/or stops along the different routes indifferent localities. This approach allows the commute application tocustomize the views (e.g., map views, list views, etc.) displayed in thecommute application to match the graphical representation of the transitdata in different localities, which, in turn, causes the application toappear more realistic to the user of the application.

In some embodiments, a set of servers first generates the definitions ofdifferent graphical representations data of the transit systems (e.g.,the route data, stop data, schedule data, etc.) by receiving andprocessing the graphical representation data from a variety of vendors(e.g., train operators, bus operators, third party providers, etc.). Theset of servers then places the processed data in data structures (e.g.,tiles) that will be provided to a client device upon the client device'srequest. These data structures are then used by the commute applicationoperating on the client device to render different graphicalrepresentations (e.g., fonts, icons, symbols, colors, shapes, etc.) fordifferent transit data. Several manners of server-side generation ofdefinitions of map areas or constructs to render and client-siderendering of these definitions are further described in the U.S. patentapplication Ser. No. 13/632,040, entitled “Virtual Camera for 3D Maps,”filed Sep. 30, 2012. This application is incorporated herein byreference.

FIG. 40 conceptually illustrates an architecture for a server set 4000that aggregates different schedule and route data from different dataproviders. The server set includes only one server in some embodiments,while it includes more than one servers (e.g., one or more servers foreach manager or each data storage) in other embodiments. As shown, theserver set 4000 includes a router manager 4005, a schedule manager 4010,and a user interface manager 4015. FIG. 40 also illustrates N transitsystem data providers 4020 where N can be any positive real number. Insome embodiments, a transit system data provider 4020 provides theserver set 4000 with information regarding a transit system, such as thedifferent routes and/or lines in the transit system, the stops along thedifferent routes and/or lines, schedules for different trips along theroutes and/or lines, user interface definitions that specify the mannerin which user interface and/or graphical elements associated with thelocality of the transit system are displayed in the commute applicationof some embodiments, etc.

In addition, FIG. 40 illustrates route data storage 4025, schedule datastorage 4030, and UI data storage 4035. In some embodiments, the routedata storage 4025 is for storing data for different routes. For eachroute, the route data storage 4025 stores the stops along the route, thenames of the stops, the geographical location of the stops, etc.

The schedule data storage 4030 of some embodiments stores informationfor different schedules for the different routes stored in the routedata storage 4025. In some embodiments, information for a scheduled tripalong a route includes the name of the route, the stops along the routefor the scheduled trip, the arrival times at the stops along the routefor the scheduled trip, etc.

In some embodiments, the UI data storage 4035 stores user interface datafor the routes stored in the route data storage 4025 and the schedulesstored in the schedule data storage 4030. Examples of such userinterface data include definitions of graphical representations (e.g.,fonts, icons, symbols, colors, shapes, etc.) of the transit systems,routes, stops and schedules for different views (e.g., map view, listview, etc.) displayed by the commute application of some embodiments.For example, in some embodiments, when two different transit busoperators in two different cities have two different styles forrepresenting bus stops and/or bus routes, the commute application insome embodiments uses different styles to display the bus stops and/orbus routes in the different cities (e.g., uses each city's particularstyle to display that city's bus stops and/or bus routes). In someembodiments, the storages 4025-4035 are implemented as one physicalstorage while, in other embodiments, the storages 4025-4035 areimplemented in separate physical storages. Still, in some embodiments,one or more of the storages 4025-4035 are implemented across severalphysical storages.

As mentioned above by reference to FIG. 38, the UI data storage storesdifferent graphical representations of routes, stops and/or schedulesfor different localities. For instance, in some embodiments, the serverset receives the graphical representations of routes, stops and/orschedules for each locality (e.g., city, state, county, etc.) from oneor more transit system data providers (e.g., train operators, busoperators, third party providers, etc.) of the locality. This serverset, or servers that communicatively couple to this server set, thenprovide the received graphical representation to specify the route,stop, and/or schedule display for a particular locality to a device'scommute application when the device is operating in that particularlocality. This approach allows the commute application to render acustomized display of the transit data (e.g., the route data, stop data,schedule data, etc.) in each locality to mirror the representations ofthis data in that locality. In this manner, the commute application canrender different symbols to display transit data in New York than thesymbols it uses to display transit data in Boston, and in each of theselocalities, the application can use the symbols that are used by thetransit operators in those localities to represent the transit data.

The route manager 4005 handles route data that the route manager 4005receives from the transit system data providers 4020. The route manager4005 receives route data from the transit system data providers 4020through an application programming interface (API) 4040 that the serverset 4000 provides to the transit system data providers 4020. In someembodiments, the API 4040 specifies a particular format in which to senddata and the manner in which to send the data. In some embodiments, theroute manager 4005 processes the route data (e.g., clean and/or modifystop names, route names, etc.) in order to transform the data to adefined format. The route manager 4005 then stores the route data in theroute data storage 4025.

When the route manager 4005 receives from a transit system data provider4020 route data that is specified as an update to existing route data,the route manager 4005 of some embodiments accesses the route datastorage 4025 to identify the corresponding route data for which thereceived route data is an update. In some embodiments, the route manager4005 updates the corresponding route data stored in the route datastorage 4025 with the received route data.

The schedule manager 4010 is responsible for managing schedule datareceived from the transit system data providers 4020 through the API4040. Upon receiving schedule data, the schedule manager 4010 of someembodiments processes it (e.g., clean and/or modify stop names, routenames, etc.) in order to transform the data to a defined format. In someembodiments, the schedule data references routes associated with theschedule data. The schedule manager 4010 in some embodiments interactswith the route manager 4005 or accesses the route data storage 4025 toidentify the routes that are associated with the schedule data and toadd the routes' information to the schedule data. In some embodiments,the schedule manager 4010 stores the schedule data in the schedule datastorage 4030.

In some embodiments, the schedule data that the schedule manager 4010receives from a transit system data provider 4020 is specified as anupdate to existing schedule data. The schedule manager 4020 in some suchembodiments accesses the schedule data storage 4030 to identify thecorresponding schedule data for which the received schedule data is anupdate. In some embodiments, the schedule manager 4010 then updates thecorresponding schedule data stored in the schedule data storage 4030with the received schedule data.

In some embodiments, the user interface manager 4015 manages UI datareceived from the transit system data providers 4020 through the API4040. The user interface manager 4015 of some embodiments processes theuser interface data to transform the data to a defined format. In someembodiments, the user interface data references routes and/or schedulesassociated with the user interface data. The user interface manager 4015in some embodiments interacts with the route manager 4005 and/or theschedule manager 4010, or accesses the route data storage 4025 and/orthe schedule data storage 4030, to identify the routes and/or schedulesthat are associated with the user interface data and to add the routes'and/or schedules' information to the user interface data. The userinterface manager 4015 then stores the user interface data in the UIdata storage 4035. Through the API 4040, the user interface manager 4015of some embodiments receives different graphical representations oftransit data for different localities, and this allows the userinterface storage 4035 to store different representations of transitdata for different localities. As mentioned above, and further describedbelow, these different representations are then used by schedule androute servers to specify different transit displays (e.g., differentdisplays of routes, stops and/or schedules) for different localities.

Upon receiving from a transit system data provider 4020 UI data that isspecified as an update to existing UI data, the user interface manager4015 of some embodiments accesses the UI data storage 4035 to identifythe corresponding UI data for which the received UI data is an update.In some embodiments, the user interface manager 4015 then updates thecorresponding UI data stored in the UI data storage 4035 with thereceived UI data.

FIG. 41 conceptually illustrates a set of servers 4105 and 4110 thatprovide different data to commute applications 4115 operating ondifferent devices 4120-4135. As shown, the servers 4105 and 4110 in thisexample collectively form a commute application data server, whichprovides schedule and route data that the commute applications 4115 useto present on the devices 4120-4135 routes and schedules to users of thedevices 4120-4135. While FIG. 41 shows each server 4105 or 4110 as oneserver to simplify the illustration in this figure, one of ordinaryskill will realize that each server 4105 or 4110 can be a combination ofseveral servers in some embodiments of the invention.

The commute application data server of some embodiments also providesupdates for the schedule and route data. For this example, the commuteapplication data server provides data to the devices 4120-4135 through anetwork (not shown in FIG. 41), such as a local area network (“LAN”), awide area network (“WAN”), or an Intranet, or a network of networks,such as the Internet.

In some embodiments, the servers 4105 and 4110 are each implemented by adifferent set of servers while, in other embodiments, the servers 4105and 4110 are implemented by the same set of servers. As such, when theservers 4105 and 4110 are implemented by different sets of servers, thecommute applications 4115 access two different points/locations for thecommute applications 4115 data.

In some embodiments, the server 4105 is for hosting and providingdynamic data. In this example, the server 4105 hosts and provideslocation data for transit vehicles. In some embodiments, the locationdata that the server 4105 provides to the commute applications 4115 isused to display the location of transit vehicles on a map (e.g., the mapviews described above by reference to FIGS. 21-28).

The locations of transit vehicles are tracked in real-time, in someembodiments. The tracking information (e.g., GPS location data) fordifferent transit vehicles is provided in some embodiments by any numberof different vendors. The server 4105 of some embodiments retrieves andaggregates the tracking information from the vendors for the differenttransit vehicles. As illustrated in FIG. 41, the server 4105 is storinglocation data from Vendor 1, location data from Vendor 2, location datafrom Vendor 3, etc. This way, the server 4105 is able to provide to thecommute applications 4115 the location data for any of the differenttransit vehicles.

The server 4110 of some embodiments is for hosting and providing staticand/or slow changing data. As shown, the server 4110 in this examplehosts and provides schedule and route data. In some embodiments, theserver 4110 is implemented by the server set 4000 described above byreference to FIG. 40.

As explained above, the commute application of some embodimentsdownloads different route data based on different localities. In somesuch embodiments, the server 4110 hosts and provides the schedule androute data for the different localities. The schedule and route data fora particular locality in some embodiments includes UI data (e.g.,graphical representations of the routes, such as icons) for theparticular locality, which may differ from the UI data for anotherlocality. As shown in FIG. 41, the server 4110 is storing schedule androute data for locality 1, schedule and route data for locality 2,schedule and route data for locality 3, etc.

To provide different UI representations for different localities, theserver 4110 retrieves the different transit data representations (e.g.,different transit data definitions) for different transit dataconstructs (e.g., different routes, stops, schedules, etc.) from the UIdata storage 4035, and then uses these representations to provide adefinition of the transit data constructs for the commute application torender. In this manner, the aggregation and distribution architecturesillustrated in FIGS. 40 and 41 allow the commute application to displaytransit data differently in different localities. For instance, asdescribed above by reference to FIG. 38, the commute application canrender different style of icons to represent differently the transitstops in different cities. Each city's style of icons mimics in someembodiments how the transit operators in that city display an actualtransit stop. Similarly, the servers and the commute application foreach locality display other transit data (e.g., route depiction, transitoperator depiction, etc.) in a manner that mimics how the transitoperators of that locality display such other transit data.

FIG. 41 shows for this example that the device 4120 is operating atlocality 1, the device 4125 is operating at locality 2, the device 4130is operating at locality 3, and the device 4135 is operating at localityN. Accordingly, when the devices 4120-4135 request schedule and routedata from the server 4110, the server 4110 provides the devices4120-4135 with schedule and route data for the corresponding locality.

FIG. 42 conceptually illustrates the process 4200 of some embodimentsfor processing a location request for a transit vehicle. In someembodiments, the server 4105 described above by reference to FIG. 41performs the process 4200 when the server 4105 receives a request forthe location of a particular transit vehicle.

As shown, the process 4200 starts by identifying (at 4210) a set ofexternal vendors for location data of a transit vehicle. In someembodiments, one or more external vendors provide tracking informationfor the transit vehicle.

Once the external vendors have been identified, the process 4200retrieves (at 4220) the location data for the transit vehicle based onthe identified set of external vendors. In some embodiments, some or allof the identified location data has been previously retrieved from theexternal vendors (e.g., through periodic aggregation from externalvendors) and stored. The process 4200 in some such embodiments accesses(e.g., a storage on the server 4105) the previously retrieved locationdata and retrieves location data for the transit vehicle. For anyremaining portions of the location data, the process 4200 retrieves thelocation data from some or all of the identified external vendors. Insome embodiments, the process 4200 retrieves the location data byretrieving all the location data for the transit vehicle from theidentified set of external vendors.

Next, the process 4200 processes (at 4230) the retrieved data. In someembodiments, the location data retrieved from the external vendors needsto be formatted according to a defined format that is usable by thecommute application. The process 4200 in some such embodiments processesthe location data into the defined format. In some embodiments, theprocess 4200 performs other operations on the location data (e.g.,filtering, cleaning, modifying, etc.) in order to place the locationdata in a format useable by the commute application.

Finally, the process 4200 provides (at 4240) the processed location datato the requestor. Referring to FIG. 41 as an example, the process 4200would provide the processed data to one of the devices 4120-4135 thatrequested the location of the transit vehicle.

FIG. 43 conceptually illustrates the process 4300 of some embodimentsfor processing a request for schedule and route data. In someembodiments, the server 4110 described above by reference to FIG. 41performs the process 4300 when the server 4110 receives a request forschedule and route data or for an update for schedule and route data.

As shown, the process 4300 begins by determining (at 4310) the localityof the requestor. In some embodiments, the requestor includes in itsrequest data specifying the locality in which the requestor isoperating. In other embodiments, the process 4300 receives in therequest metadata describing the location of the request. The process4300 of some such embodiments determines a locality based on metadata.For instance, in some embodiments, the process 4300 accesses a lookuptable that specifies a locality based on the location data in order todetermine the locality of the requestor.

Next, the process 4300 retrieves (at 4320) schedule and route data forthe determined locality. As described above by reference to FIG. 40,some embodiments aggregate and store different schedule and route datafor different localities. In some embodiments, the process 4300 accessessuch data to identify the schedule, route, and graphical representationdata that correspond to the determined locality and retrieves theidentified schedule, route, and graphical representation data.

Finally, the process 4300 sends (at 4330) the retrieved schedule androute data to the requestor. Referring to FIG. 41 as an example, theprocess 4300 would provide the schedule, route, and graphicalrepresentation data for the determined locality to one of the devices4120-4135 that requested the schedule and route data while operating inthe determined locality. That is, the process 4300 would send scheduleand route data for locality 1 to device 4120, schedule and route datafor locality 2 to device 4125, schedule and route data for locality 3 todevice 4130, and schedule and route data for locality N to device 4135.Each of these schedule and route data then will be presented to the userof the device based on the graphical representation of the locality inwhich the commute application operating on the device has requested thisdata.

VI. Electronic System

Many of the above-described features and applications are implemented assoftware processes that are specified as a set of instructions recordedon a computer readable storage medium (also referred to as computerreadable medium). When these instructions are executed by one or morecomputational or processing unit(s) (e.g., one or more processors, coresof processors, or other processing units), they cause the processingunit(s) to perform the actions indicated in the instructions. Examplesof computer readable media include, but are not limited to, CD-ROMs,flash drives, random access memory (RAM) chips, hard drives, erasableprogrammable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), etc. The computer readablemedia does not include carrier waves and electronic signals passingwirelessly or over wired connections.

In this specification, the term “software” is meant to include firmwareresiding in read-only memory or applications stored in magnetic storagewhich can be read into memory for processing by a processor. Also, insome embodiments, multiple software inventions can be implemented assub-parts of a larger program while remaining distinct softwareinventions. In some embodiments, multiple software inventions can alsobe implemented as separate programs. Finally, any combination ofseparate programs that together implement a software invention describedhere is within the scope of the invention. In some embodiments, thesoftware programs, when installed to operate on one or more electronicsystems, define one or more specific machine implementations thatexecute and perform the operations of the software programs.

A. Mobile Device

The commute application of some embodiments operate on mobile devices,such as smart phones (e.g., iPhones®) and tablets (e.g., iPads®). FIG.44 is an example of an architecture 4400 of such a mobile computingdevice. Examples of mobile computing devices include smartphones,tablets, laptops, etc. As shown, the mobile computing device 4400includes one or more processing units 4405, a memory interface 4410 anda peripherals interface 4415.

The peripherals interface 4415 is coupled to various sensors andsubsystems, including a camera subsystem 4420, a wireless communicationsubsystem(s) 4425, an audio subsystem 4430, an I/O subsystem 4435, etc.The peripherals interface 4415 enables communication between theprocessing units 4405 and various peripherals. For example, anorientation sensor 4445 (e.g., a gyroscope) and an acceleration sensor4450 (e.g., an accelerometer) is coupled to the peripherals interface4415 to facilitate orientation and acceleration functions.

The camera subsystem 4420 is coupled to one or more optical sensors 4440(e.g., a charged coupled device (CCD) optical sensor, a complementarymetal-oxide-semiconductor (CMOS) optical sensor, etc.). The camerasubsystem 4420 coupled with the optical sensors 4440 facilitates camerafunctions, such as image and/or video data capturing. The wirelesscommunication subsystem 4425 serves to facilitate communicationfunctions. In some embodiments, the wireless communication subsystem4425 includes radio frequency receivers and transmitters, and opticalreceivers and transmitters (not shown in FIG. 44). These receivers andtransmitters of some embodiments are implemented to operate over one ormore communication networks such as a GSM network, a Wi-Fi network, aBluetooth network, etc. The audio subsystem 4430 is coupled to a speakerto output audio (e.g., to output voice navigation instructions).Additionally, the audio subsystem 4430 is coupled to a microphone tofacilitate voice-enabled functions, such as voice recognition (e.g., forsearching), digital recording, etc.

The I/O subsystem 4435 involves the transfer between input/outputperipheral devices, such as a display, a touchscreen, etc., and the databus of the processing units 4405 through the peripherals interface 4415.The I/O subsystem 4435 includes a touchscreen controller 4455 and otherinput controllers 4460 to facilitate the transfer between input/outputperipheral devices and the data bus of the processing units 4405. Asshown, the touchscreen controller 4455 is coupled to a touchscreen 4465.The touchscreen controller 4455 detects contact and movement on thetouchscreen 4465 using any of multiple touch sensitivity technologies.The other input controllers 4460 are coupled to other input/controldevices, such as one or more buttons. Some embodiments include anear-touch sensitive screen and a corresponding controller that candetect near-touch interactions instead of or in addition to touchinteractions.

The memory interface 4410 is coupled to memory 4470. In someembodiments, the memory 4470 includes volatile memory (e.g., high-speedrandom access memory), non-volatile memory (e.g., flash memory), acombination of volatile and non-volatile memory, and/or any other typeof memory. As illustrated in FIG. 44, the memory 4470 stores anoperating system (OS) 4472. The OS 4472 includes instructions forhandling basic system services and for performing hardware dependenttasks.

The memory 4470 also includes communication instructions 4474 tofacilitate communicating with one or more additional devices; graphicaluser interface instructions 4476 to facilitate graphic user interfaceprocessing; image processing instructions 4478 to facilitateimage-related processing and functions; input processing instructions4480 to facilitate input-related (e.g., touch input) processes andfunctions; audio processing instructions 4482 to facilitateaudio-related processes and functions; and camera instructions 4484 tofacilitate camera-related processes and functions. The instructionsdescribed above are merely exemplary and the memory 4470 includesadditional and/or other instructions in some embodiments. For instance,the memory for a smartphone may include phone instructions to facilitatephone-related processes and functions. Additionally, the memory mayinclude instructions for a commute application as well as otherapplications. The above-identified instructions need not be implementedas separate software programs or modules. Various functions of themobile computing device can be implemented in hardware and/or insoftware, including in one or more signal processing and/or applicationspecific integrated circuits.

While the components illustrated in FIG. 44 are shown as separatecomponents, one of ordinary skill in the art will recognize that two ormore components may be integrated into one or more integrated circuits.In addition, two or more components may be coupled together by one ormore communication buses or signal lines. Also, while many of thefunctions have been described as being performed by one component, oneof ordinary skill in the art will realize that the functions describedwith respect to FIG. 44 may be split into two or more integratedcircuits.

B. Computer System

FIG. 45 conceptually illustrates another example of an electronic system4500 with which some embodiments of the invention are implemented. Theelectronic system 4500 may be a computer (e.g., a desktop computer,personal computer, tablet computer, etc.), phone, PDA, or any other sortof electronic or computing device. Such an electronic system includesvarious types of computer readable media and interfaces for variousother types of computer readable media. Electronic system 4500 includesa bus 4505, processing unit(s) 4510, a graphics processing unit (GPU)4515, a system memory 4520, a network 4525, a read-only memory 4530, apermanent storage device 4535, input devices 4540, and output devices4545.

The bus 4505 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices of theelectronic system 4500. For instance, the bus 4505 communicativelyconnects the processing unit(s) 4510 with the read-only memory 4530, theGPU 4515, the system memory 4520, and the permanent storage device 4535.

From these various memory units, the processing unit(s) 4510 retrievesinstructions to execute and data to process in order to execute theprocesses of the invention. The processing unit(s) may be a singleprocessor or a multi-core processor in different embodiments. Someinstructions are passed to and executed by the GPU 4515. The GPU 4515can offload various computations or complement the image processingprovided by the processing unit(s) 4510.

The read-only-memory (ROM) 4530 stores static data and instructions thatare needed by the processing unit(s) 4510 and other modules of theelectronic system. The permanent storage device 4535, on the other hand,is a read-and-write memory device. This device is a non-volatile memoryunit that stores instructions and data even when the electronic system4500 is off. Some embodiments of the invention use a mass-storage device(such as a magnetic or optical disk and its corresponding disk drive,integrated flash memory) as the permanent storage device 4535.

Other embodiments use a removable storage device (such as a floppy disk,flash memory device, etc., and its corresponding drive) as the permanentstorage device. Like the permanent storage device 4535, the systemmemory 4520 is a read-and-write memory device. However, unlike storagedevice 4535, the system memory 4520 is a volatile read-and-write memory,such a random access memory. The system memory 4520 stores some of theinstructions and data that the processor needs at runtime. In someembodiments, the invention's processes are stored in the system memory4520, the permanent storage device 4535, and/or the read-only memory4530. From these various memory units, the processing unit(s) 4510retrieves instructions to execute and data to process in order toexecute the processes of some embodiments.

The bus 4505 also connects to the input and output devices 4540 and4545. The input devices 4540 enable the user to communicate informationand select commands to the electronic system. The input devices 4540include alphanumeric keyboards and pointing devices (also called “cursorcontrol devices”), cameras (e.g., webcams), microphones or similardevices for receiving voice commands, etc. The output devices 4545display images generated by the electronic system or otherwise outputdata. The output devices 4545 include printers and display devices, suchas cathode ray tubes (CRT) or liquid crystal displays (LCD), as well asspeakers or similar audio output devices. Some embodiments includedevices such as a touchscreen that function as both input and outputdevices.

Finally, as shown in FIG. 45, bus 4505 also couples electronic system4500 to a network 4525 through a network adapter (not shown). In thismanner, the computer can be a part of a network of computers (such as alocal area network (“LAN”), a wide area network (“WAN”), or an Intranet,or a network of networks, such as the Internet. Any or all components ofelectronic system 4500 may be used in conjunction with the invention.

Some embodiments include electronic components, such as microprocessors,storage and memory that store computer program instructions in amachine-readable or computer-readable medium (alternatively referred toas computer-readable storage media, machine-readable media, ormachine-readable storage media). Some examples of such computer-readablemedia include RAM, ROM, read-only compact discs (CD-ROM), recordablecompact discs (CD-R), rewritable compact discs (CD-RW), read-onlydigital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a varietyof recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.),flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.),magnetic and/or solid state hard drives, read-only and recordableBlu-Ray® discs, ultra density optical discs, any other optical ormagnetic media, and floppy disks. The computer-readable media may storea computer program that is executable by at least one processing unitand includes sets of instructions for performing various operations.Examples of computer programs or computer code include machine code,such as is produced by a compiler, and files including higher-level codethat are executed by a computer, an electronic component, or amicroprocessor using an interpreter.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, some embodiments areperformed by one or more integrated circuits, such as applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some embodiments, such integrated circuits executeinstructions that are stored on the circuit itself. In addition, someembodiments execute software stored in programmable logic devices(PLDs), ROM, or RAM devices.

As used in this specification and any claims of this application, theterms “computer”, “server”, “processor”, and “memory” all refer toelectronic or other technological devices. These terms exclude people orgroups of people. For the purposes of the specification, the termsdisplay or displaying means displaying on an electronic device. As usedin this specification and any claims of this application, the terms“computer readable medium,” “computer readable media,” and “machinereadable medium” are entirely restricted to tangible, physical objectsthat store information in a form that is readable by a computer. Theseterms exclude any wireless signals, wired download signals, and anyother ephemeral signals.

While the invention has been described with reference to numerousspecific details, one of ordinary skill in the art will recognize thatthe invention can be embodied in other specific forms without departingfrom the spirit of the invention. In addition, a number of the figures(including FIGS. 42 and 43) conceptually illustrate processes. Thespecific operations of these processes may not be performed in the exactorder shown and described. The specific operations may not be performedin one continuous series of operations, and different specificoperations may be performed in different embodiments. Furthermore, theprocess could be implemented using several sub-processes, or as part ofa larger macro process. Thus, one of ordinary skill in the art wouldunderstand that the invention is not to be limited by the foregoingillustrative details, but rather is to be defined by the appendedclaims.

While the invention has been described with reference to numerousspecific details, one of ordinary skill in the art will recognize thatthe invention can be embodied in other specific forms without departingfrom the spirit of the invention. For example, the various affordances(e.g., selectable UI items, slider controls, etc.) illustrated in FIGS.1-7, 9-25, and 28-39 are examples of affordances that can be used insome embodiments. One of ordinary skill in the art will understand thatany number of different affordances can be used in FIGS. 1-7, 9-25, and28-39. For instance, FIG. 25 illustrates the selectable UI item 2535 fordisplaying different trips along different routes that stop at aparticular stop. In some embodiments, the commute application provides aset of tools that allows a user to specify the particular stop fordisplaying different trips along different routes that stop at theparticular stop. Thus, one of ordinary skill in the art would understandthat the invention is not to be limited by the foregoing illustrativedetails, but rather is to be defined by the appended claims.

We claim:
 1. A non-transitory machine-readable medium storing a commuteapplication which when executed by at least one processing unit of adevice provides routes and schedules for routes, the commute applicationcomprising sets of instructions for: providing a first presentation of aplurality of stops along a route; receiving a selection of a stop fromthe plurality of stops along the route; and providing a secondpresentation for displaying a plurality of different routes thattraverse through the selected stop.
 2. The non-transitorymachine-readable medium of claim 1, wherein the route is a first route,wherein the second presentation is further for pivoting from the firstroute to a second route in the plurality of different routes.
 3. Thenon-transitory machine-readable medium of claim 1, wherein the secondpresentation is further for displaying different trips along theplurality of different routes that include the selected stop.
 4. Thenon-transitory machine-readable medium of claim 1, wherein the secondpresentation comprises a map for displaying the plurality of differentroutes.
 5. The non-transitory machine-readable medium of claim 1,wherein the second presentation comprises a table for displaying theplurality of different routes.
 6. The non-transitory machine-readablemedium of claim 1, wherein the different trips are traveled along thedifferent routes using a plurality of different modes of transit.
 7. Thenon-transitory machine-readable medium of claim 1, wherein the differenttrips along the different routes are a first set of different tripsalong a first set of different routes, wherein the second presentationis further for pivoting through a second set of different trips along asecond set of different routes that include stops that are near theselected stop.
 8. The non-transitory machine-readable medium of claim 5,wherein the commute application further comprises a set of instructionsfor providing a selectable option in the second presentation, that whenselected, toggles between pivoting through the first set of differenttrips along the first set of different routes and pivoting through thesecond set of different trips along the second set of different routes.9. A method for providing a graphical user interface (GUI) of a commuteapplication, the method comprising: providing a user interface (UI)layout for presenting a plurality of stops of a trip along a route; andproviding an affordance for presenting different trips along differentroutes that traverse through a particular stop of the trip along theroute.
 10. The method of claim 9, wherein the affordance comprises aselectable UI item that represents the particular stop along the routeupon selection of the UI item.
 11. The method of claim 9, wherein theaffordance comprises a set of tools for specifying the particular stopon the route and for requesting the presentation of the different tripsthrough the particular stop.
 12. The method of claim 9, wherein theaffordance is a first affordance, the method further comprisingproviding a second affordance for specifying a time, wherein the firstaffordance is further for presenting a particular trip in the differenttrips along a particular route in the different routes that is scheduledto run next based on the specified time.
 13. The method of claim 12,wherein the second affordance comprises a slider control.
 14. The methodof claim 9, wherein the affordance is a first affordance, the methodfurther comprising providing a second affordance for specifying a set ofroutes in the different routes to include in the presentation of tripswhile excluding unspecified routes in the different routes from thepresentation of trips.
 15. For a commute application that providesroutes and trips along the routes, a method of providing a graphicaluser interface (GUI), the method comprising: providing a display areafor (1) displaying a map of a geographical area and (2) receiving inputspecifying a portion of the geographical area; and providing a userinterface (UI) tool for pivoting through different trips along differentroutes that have stops located within the specified portion of thegeographical area.
 16. The method of claim 15, wherein the portion ofthe geographical area is a predefined region of the geographical area,wherein the received input comprises a selection of the predefinedregion of the geographical area.
 17. The method of claim 15, wherein theportion of the geographical area is a manually specified region of thegeographical area.
 18. The method of claim 17, wherein the inputcomprises touch input.
 19. The method of claim 15, wherein the portionof the geographical area is a first portion of the geographical areathat is a predefined region of the geographical area, wherein thereceived input comprises a manual specification of a second portion ofthe geographical area, wherein upon receiving the input, the commuteapplication automatically selects the first portion of the geographicalarea as the specified portion of the geographical area that the UI tooluses for pivoting through the different trips along the differentroutes.
 20. The method of claim 15, wherein the display area is furtherfor shifting the portion of the geographical area towards a center ofthe map upon receiving input specifying the portion of the geographicalarea.
 21. The method of claim 15, wherein the UI tool comprises a slidercontrol for specifying a time, wherein the display area is further fordisplaying a particular trip along a particular route that has at leastone stop located within the specified portion of the geographical areaand that is scheduled to run next based on the specified time.